第十次作业

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;

}

 

posted on 2019-06-19 20:46  李彩云  阅读(126)  评论(0编辑  收藏  举报