第十次作业

#include<stdio.h>
void splitfloat(float x,int *intpart,float *fracpart);
int main(void)
{
float x,*fracpart,fx;
int *intpart,ix;
printf("输入:");
scanf("%f",&x);
printf("x=%f\n",x);
fracpart=&fx;
intpart=&ix;
splitfloat(x,intpart,fracpart);
printf("*intpart=%d,*fracpart=%f\n",*intpart,*fracpart);
return 0;
}
void splitfloat(float x,int*intpart,float*fracpart)
{
*intpart=(int) x;
*fracpart=x-*intpart;
}

循环后移

#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int n,m,i,j;
int *p;
printf("输入n,m:");
scanf("%d%d",&n,&m);
p=(int*)calloc(n,sizeof(int));
for(i=0;i<n;i++)
scanf("%d",p+i);
for(i=0;i<n;i++)
{j=(m/n+1)*n-m+i;
if(j>=n)
j-=n;
printf("%d\t",*(p+j));
}
printf("\n");
return 0;
}

 删除字符


#include<stdio.h>
#include<string.h>
#define x 100
void delchar(char s[],char c);
int main(void)
{char str[x],c;
printf("输入字符串:");
gets(str);
printf("输入删除字符:");
scanf("%C",&c);
delchar(str,c);
puts(str);
return 0;
}
void delchar(char*s,char c)
{int a,b;
a=strlen(s);
for(b=a-1;b>=0;b--)
if(*(s+b)==c)
strcpy(s+b,s+b+1);}

 

字符串排序

 

#include<stdio.h>
#include<string.h>
int main(void)
{char str[5][100],t[100];
int i,j,x;
for(i=0;i<5;i++)
gets(str[i]);
for(i=0;i<5;i++){
x=i;
for(j=i+1;j<5;j++)
if(strcmp(str[x],str[j])>0)
x=j;
strcpy(t,str[i]);
strcpy(str[i],str[x]);
strcpy(str[x],t);
}
printf("排序后\n");
for(i=0;i<5;i++)
puts(str[i]);
return 0;
}

 

posted on 2019-06-19 22:15  宋有慧  阅读(126)  评论(0)    收藏  举报

导航