第十次作业
1 拆分
#include<stdio.h>
void splitfloat(float x,int *intpart,float *fracpart);
int main()
{
float x,fracpart;
int intpart;
printf("Input a number:");
scanf("%f",&x);
splitfloat(x,&intpart,&fracpart);
printf("The intpart is: %d\n",intpart);
printf("The fracpart is: %f\n",fracpart);
return 0;
}
void splitfloat(float x,int *intpart,float *fracpart)
{
*intpart=(int)x;
*fracpart=x-*intpart;
}
3,循环后移
#include <stdio.h>
void mov(int *x, int n, int m);
int main()
{
int i, m, n;
int a[80];
scanf("%d%d", &n, &m);
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
mov(a, n, m);
printf("After move: ");
for(i = 0; i < n; i++)
printf("%d ", a[i]);
printf("\n");
}
void mov(int *x, int n, int m)
{
int i, j, k;
for(i = 1; i <= m; i++){
k = x[n-1];
for(j = n - 1; j > 0; j--)
x[j] = x[j-1];
x[0] = k;
}
}
第6题 /*删除字符:输入一个字符串,再输入一个字符串ch,将字符串中所以的ch字符删除后输出该字符串。
要求定义和调用函数delchar(s,c),该函数将字符串s中出现的所有c字符删除。试编写相应的程序。
#include<stdio.h>
int main(void)
{
char c;
char str[80];
void delchar(char*str,char c);
printf("输入字符串:");
gets(str);
printf("输入删除字符:");
scanf("%c",&c);
getchar();
delchar(str,c);
printf("result:");
puts(str);
}
void delchar(char*str,char c)
{
int i,j;
i=j=0;
while(str[i]!='\0'){
if(str[i]!=c){
str[j]=str[i];
j++;
}
i++;
}
str[j]='\0';
}
第7题 /*字符串排序:输入五个字符串,按由小到大的顺序输出。试编写相应的程序
#include<stdio.h>
#include<string.h>
int main(void)
{
int i,j,n,index;
char sx[5][80],stemp[80];
printf("Enter n:");
scanf("%d",&n);
printf("Input %d strings:",n);
for(i=0;i<5;i++)
scanf("%s",sx[i]);
for(i=1;i<4;i++){
index=i;
for(j=i+1;j<5;j++)
if(strcmp(sx[j],sx[index])<0)
index=j;
strcpy(stemp,sx[i]);
strcpy(sx[i],sx[index]);
strcpy(sx[index],stemp);
}
printf("after sorted:\n");
for(i=0;i<5;i++)
puts(sx[i]);
return 0;
}