作业十
/*1>拆分实数的整数与小数部分:要求自定义一个函数void splitfloat(float x,int*intpart,float*fracpart),其中X是被拆分的实数,
*Intpart和*fracpart分别是将实数X拆分出来的整数部分与小数部分。编写主函数,并在其中调用函数splitfloat()*/
*Intpart和*fracpart分别是将实数X拆分出来的整数部分与小数部分。编写主函数,并在其中调用函数splitfloat()*/
#include"stdio.h"
void splidfloat(float x,int*intpart,float*fracpart);
int main()
{
float x,f=0;
int i=0;
float*pf=&f;
int*pi=&i;
printf("Enter x:");
scanf("%f",&x);
splidfloat(x,pi,pf);
printf("intpart=%d\nfracpart=%f\n",i,f);
return 0;
}
void splidfloat(float x,int*intpart,float*fracpart)
{
*intpart=(int)x;
*fracpart=x-*intpart;
}
void splidfloat(float x,int*intpart,float*fracpart);
int main()
{
float x,f=0;
int i=0;
float*pf=&f;
int*pi=&i;
printf("Enter x:");
scanf("%f",&x);
splidfloat(x,pi,pf);
printf("intpart=%d\nfracpart=%f\n",i,f);
return 0;
}
void splidfloat(float x,int*intpart,float*fracpart)
{
*intpart=(int)x;
*fracpart=x-*intpart;
}
![](https://img2018.cnblogs.com/blog/1619640/201906/1619640-20190619210035841-789647446.png)
/*循环后移:有n个整数,使前面各数顺序向后移m个位置,移出的数再从开头移入。编写一个函数实现以上功能,在主函数中输入n个整数并输出调整后的n个数。
*/
#include<stdio.h>
int main()
{
int a[60] ;
int i,j,n,m,t;
printf("Enter(n)与Move(m):");
scanf("%d%d",&n,&m);
printf("Enter:");
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(i=n-1;i>m-1;i--)
{ t=a[n-1];
for(j=n-1;j>0;j--)
{ a[j]=a[j-1];
}
a[0]=t;
}
printf("Move m为后的数组:");
for(i=0;i<n;i++)
printf("%d\t",a[i]);
printf("\n");
return 0;
}
*/
#include<stdio.h>
int main()
{
int a[60] ;
int i,j,n,m,t;
printf("Enter(n)与Move(m):");
scanf("%d%d",&n,&m);
printf("Enter:");
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(i=n-1;i>m-1;i--)
{ t=a[n-1];
for(j=n-1;j>0;j--)
{ a[j]=a[j-1];
}
a[0]=t;
}
printf("Move m为后的数组:");
for(i=0;i<n;i++)
printf("%d\t",a[i]);
printf("\n");
return 0;
}
![](https://img2018.cnblogs.com/blog/1619640/201906/1619640-20190619211030664-1939542304.png)
6》删字符除:输入一个字符串,再输入一个字符ch,将字符串中所有的ch字符删除后输出该字符串。要求定义和调用函数delchar(s,c),该函数将字符串s中出现
的所有c字符删除。
的所有c字符删除。
#include"stdio.h"
void delchar(char *s,char c );
int main()
{
char s[12],c;
scanf("%s ",s);
printf("Enter any to delect:");
scanf("%c",&c);
delchar(s,c);
printf("%s\n",s);
return 0;
}
void delchar(char *s,char c )
{ int i=0;
while(*(s+i)!='\0')
{
if(*(s+i)==c)
{
*(s+i)=' ';
}
i++;
}
}
void delchar(char *s,char c );
int main()
{
char s[12],c;
scanf("%s ",s);
printf("Enter any to delect:");
scanf("%c",&c);
delchar(s,c);
printf("%s\n",s);
return 0;
}
void delchar(char *s,char c )
{ int i=0;
while(*(s+i)!='\0')
{
if(*(s+i)==c)
{
*(s+i)=' ';
}
i++;
}
}
![](https://img2018.cnblogs.com/blog/1619640/201906/1619640-20190619211156508-1183956306.png)
/*字符串排序:输入五个字符串,按由小到大的顺序输出。*/
#include"stdio.h"
#include"string.h"
int main(void)
{
int i,j;
char a[5][20],b[20]
printf("输入5个字符串:\n")
for(i=0;i<=4;i++)
{scanf("%s",a[i]);
}
for(j=0;j<5-i;j++)
if(strcmp(a[j],a[j+1])>0)
{
strcpy(b,a[j]);
strcpy(a[i],a[j+1]);
strcpy(a[j+1],b);
}
}
printf("经过排序输出:\n");
for(i=0;i<=4;i++)
puts(a[i]);
return o;
}
#include"stdio.h"
#include"string.h"
int main(void)
{
int i,j;
char a[5][20],b[20]
printf("输入5个字符串:\n")
for(i=0;i<=4;i++)
{scanf("%s",a[i]);
}
for(j=0;j<5-i;j++)
if(strcmp(a[j],a[j+1])>0)
{
strcpy(b,a[j]);
strcpy(a[i],a[j+1]);
strcpy(a[j+1],b);
}
}
printf("经过排序输出:\n");
for(i=0;i<=4;i++)
puts(a[i]);
return o;
}
![](https://img2018.cnblogs.com/blog/1619640/201906/1619640-20190619211441117-2002612050.png)