第十次作业
1拆分实数的整数与小数部分:
#include<stdio.h>
void splitfloat(float x,int * intpart,float * fracpart);
int main(void)
{
float x;
int intpart;
float fracpart;
printf("enter x:");
scanf("%f",&x);
printf("%f\n",x);
splitfloat(x,&intpart,&fracpart);
printf("intpart=%d\n",intpart);
printf("fracpart=%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(void)
{
int n,m,i;
int a[10];
printf("enter 输入n个数,移动m个位置");
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
scanf("%d\n",&a[i]);
mov(a,n,m);
printf("after move:\n");
for(i=0;i<n;i++)
printf("%d\t",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;
}
}
void mov(int*x,int n,int m);
int main(void)
{
int n,m,i;
int a[10];
printf("enter 输入n个数,移动m个位置");
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
scanf("%d\n",&a[i]);
mov(a,n,m);
printf("after move:\n");
for(i=0;i<n;i++)
printf("%d\t",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删除字符
#include<stdio.h>
#include<string.h>
int main()
{
char c;
char str[20];
void delchar(char *str,char c);
printf("输入字符串:");
gets(str);
printf("输入删除字符:");
scanf("%c",&c);
getchar();
delchar(str,c);
printf("result:");
puts(str);
return 0;
}
void delchar(char *str,char c)
{
int i,j;
i=j=0;
#include<string.h>
int main()
{
char c;
char str[20];
void delchar(char *str,char c);
printf("输入字符串:");
gets(str);
printf("输入删除字符:");
scanf("%c",&c);
getchar();
delchar(str,c);
printf("result:");
puts(str);
return 0;
}
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';
}
{
if(str[i]!=c){
str[j]=str[i];
j++;
}
i++;
}
str[j]='\0';
}
7字符串排序
#include<stdio.h>
#include<string.h>
int main()
{
char s[5][80],stemp[80];
int i,j,index;
//* printf("输入五组字符串\n");
for(i=0;i<5;i++)
gets(s[i]);
for(i=1;i<4;i++){
index=i;
for(j=i+1;j<5;j++)
if(strcmp(s[j],s[index])<0)
index=j;
strcpy(stemp,s[i]);
strcpy(s[i],s[index]);
strcpy(s[index],stemp);
}
printf("排序\n");
for(i=0;i<5;i++)
puts(s[i]);
return 0;
}
#include<string.h>
int main()
{
char s[5][80],stemp[80];
int i,j,index;
//* printf("输入五组字符串\n");
for(i=0;i<5;i++)
gets(s[i]);
for(i=1;i<4;i++){
index=i;
for(j=i+1;j<5;j++)
if(strcmp(s[j],s[index])<0)
index=j;
strcpy(stemp,s[i]);
strcpy(s[i],s[index]);
strcpy(s[index],stemp);
}
printf("排序\n");
for(i=0;i<5;i++)
puts(s[i]);
return 0;
}
心得体会:这几道题里让我了解到了字符串的使用,还有对数组的使用,并对数组中的几个函数有了认识。
![](https://img2018.cnblogs.com/blog/1619672/201906/1619672-20190619182231102-1504126467.jpg)
![](https://img2018.cnblogs.com/blog/1619672/201906/1619672-20190619182250199-1371476817.jpg)
![](https://img2018.cnblogs.com/blog/1619672/201906/1619672-20190619182303630-1365720577.jpg)
![](https://img2018.cnblogs.com/blog/1619672/201906/1619672-20190619182312988-1703067142.jpg)