1.
其中x是被拆分的实数(0≤x<10000),*intpart和*fracpart分别是将实数x拆分出来的整数部分与小数部分。
#include <stdio.h>
void splitfloat(float x, int *intpart, float *fracpart);
int main(void)
{ float realnumber;
int integerpart;
float fractionpart;
printf("请输入一个实数:");
scanf("%f",&realnumber);
printf("你输入的实数是:%f\n", realnumber);
splitfloat(realnumber, &integerpart, &fractionpart);
printf("整数部分是:%d\n", integerpart);
printf("小数部分是:%f\n", fractionpart);
return 0;
}
void splitfloat(float x, int *intpart, float *fracpart)
{
*intpart = (int)x;
*fracpart = x - *intpart;
}
有n个整数,使前面各数顺序向后移m个位置,移出的数再从开头移入,在主函数中输入n个整数并输出调整后的n个数。
#include<stdio.h>
int move(int *a,int n,int m)
{
int t[100];
int i;
for(i=0;i<n;i++)
{
t[i]=a[i];
}
for(i=0;i<m;i++)
{
a[i]=t[n-m+i];
}
for(i=m;i<n;i++)
{
a[i]=t[i-m];
}
}
int main()
{
int a[20];
int n,m;
int i;
while(scanf("%d%d",&n,&m)!=EOF)
{
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
move(a,n,m);
for(i=0;i<n-1;i++)
{
printf("%d",a[i]);
}
printf("%d\n",a[i]);
}
}#include<stdio.h>
删除字符串中的字符。输入一个字符串s,再输入一个字符c,将字符串s中出现的所有字符c删除。要求定义并调用delchar(s,c),该函数将字符串s中出现的所有c字符删除。
#include<string.h>
int main()
{
int i;
char s[80],c;
void delchar(char *s,char c);
printf("Input a string: ");
i=0;
while((s[i]=getchar())!='\n'){
i++;
}
s[i]='\0';
printf("Input a character: ");
c = getchar();
delchar(s,c);
printf("After deleted, the string is:");
printf("%s\n",s);
return 0;
}
void delchar(char *s,char c){
int i = 0, j = 0;
char tmp[80];
while(s[i]!='\0'){
if(s[i++] != c)
tmp[j++]= s[i-1];
}
tmp[j] = 0;
strcpy(s, tmp);
}
从键盘上输入5个字符串,按由小到大的顺序输出 。
#include<stdio.h>
#include<string.h>
int main()
{
char str[5][80];
char temp[80];
int i,j;
printf("Please input 5 strings:\n");
for (i=0;i<5;i++)
{
gets(str[i]);
}
for (i=0;i<5;i++)
{
for (j=i+1;j<5;j++)
{
if (strcmp(str[i],str[j])>0)
{
strcpy(temp,str[i]);
strcpy(str[i],str[j]);
strcpy(str[j],temp);
}
}
}
printf("The strings:\n");
for (i=0;i<5;i++)
{
puts(str[i]);
}
return 0;
}