1.
其中x是被拆分的实数(0≤x<10000),*intpart和*fracpart分别是将实数x拆分出来的整数部分与小数部分。
#include<stdio.h>
void splitfloat(float x,int*intpart,float*fracapart);
int main(void)
{
float x,fracpart;
int intpart;
printf("Input a number:");
scanf("%f",&x);
splitfloat(x,&intpart,&fracpart);
printf("整数部分是:%d",intpart);
printf("小数部分是:%f",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(void)
{
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.删除字符串中的字符。输入一个字符串s,再输入一个字符c,将字符串s中出现的所有字符c删除。要求定义并调用
#include<stdio.h>
void main()
{
char c;
char str[80];
void delchar(char*str,char c);
gets(str);
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,index;
char sx[5][80],stemp[80];
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;
}
心得体会:
1.需要熟悉字符串的定义及使用
2.指针定义类型
3.string的应用
4.循环后移不会,应该再多上机