p214 1.拆分实数的整数与小数部分:要求自定义一个函数void splitfloat(floatx,int*intpart,float*fracpart),其中x是被拆分的实数,*intpart和*fracpart分别是将实数x拆分出来的整数部分与小数部分。编写主函数,并在其中调用函数splitfloat().试编写程序。
这道题没能运行出来,还有就是可能我程序不对
3.循环后移:有n个整数,使前面各数顺序向后移m个位置,移出的数再从开头移入。编写一个函数实现以上功能,在主函数中输入n个整数并输出调整后的n个数。试编写相应程序。
#include<stdio.h>
int main()
{
int a[60] ;
int i,j,n,m,t;
printf("Enter(n)与Move(m):");
scanf("%d%d",&n,&m);
printf("Enter:");
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(i=n-1;i>m-1;i--)
{ t=a[n-1];
for(j=n-1;j>0;j--)
{ a[j]=a[j-1];
}
a[0]=t;
}
printf("Move m为后的数组:");
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("
");
return 0;
}
6,删除字符:输入一个字符串,再输入一个字符ch,将字符串中所有的ch字符删除后输出该字符串。要求定义和调用delchar(s,c),该函数将字符串s中出现的所有c字符删除。试编写相应程序。
#include"stdio.h"
void delchar(char *s,char c );
int main()
{
char s[12],c;
scanf("%s ",s);
printf("Enter any to delect:");
scanf("%c",&c);
delchar(s,c);
printf("%s
",s);
return 0;
}
void delchar(char *s,char c )
{ int i=0;
while(*(s+i)!=' ')
{
if(*(s+i)==c)
{
*(s+i)=' ';
}
i++;
}
}
7,字符串排序:输入5个字符串,按由小到大的顺序输出。试编写相应程序。
#include<stdio.h>
#include<string.h>
int main(void)
{
int i,j;
char a[5][12], t[12];
printf ("Enter:
");
for (i = 0; i < 5; i++)
scanf("%s",a[i]);
for (i = 1; i < 5; i++)
{for(j=0;j<5-i;j++)
if(strcmp(a[j],a[j+1])>0)
{strcpy(t,a[j]);
strcpy(a[j],a[j+1]);
strcpy(a[j+1],t);
}
}
printf("按由小到大的顺序输出:
");
for (i = 0; i < 5; i++)
printf("%s
",a[i]);
return 0;
}
此次作业收获最大的就是对数组排序更加了解,还有就是对字符串数组的了解,其中虽存在很大的问题,会多看书去找寻问题。