b){p=p1;p1=p2;p2=p;}if(a>c){p=p1;p1=p3;p3=p;}if(b>c){p=p2;p2=p3;p3=p;}printf("%d%d%" />

C语言课后习题答案

第一题:
#include
int main()
{
int a,b,c;
int *p1,*p2,*p3,*p;
printf("please enter a,b,c:\n");
scanf("%d,%d,%d",&a,&b,&c);
p1=&a;
p2=&b;
p3=&c;
if(a>b)
{p=p1;p1=p2;p2=p;}
if(a>c)
{p=p1;p1=p3;p3=p;}
if(b>c)
{p=p2;p2=p3;p3=p;}
printf("%d %d %d\n",*p1,*p2,*p3);
return 0;
}
第二题:
#include
#include
int main()
{ char a[10],b[10],c[10];
char *p1,*p2,*P3,*p;int i;
printf("请输入三个字符串:\n");
scanf("%s%s%s",a,b,c);
p1=a;p2=b;p3=c;
if(strcmp(a,b)>0)
{p=p1;p1=p2;p2=p;}
if(strcmp(a,c)>0)
{p=p1;p1=p3;p3=p;}
if(strcmp(b,c)>0)
{p=p2;p2=p3;p3=p;}
for(i=0;a[i]!='\0';i++)
printf("%s",p1);
for(i=0;a[i]!='\0';i++)
printf("%s",p2);
for(i=0;a[i]!='\0';i++)
printf("%s",p3);
return 0;
}
第三题:
#include
int main()
{void compare(int a[]);
int i,a[10],*p=a;
printf("请输入十个整数:\n");
for(i=0;i<10;i++)
scanf("%d",p++);
p=a;
compare(a);
for(i=0;i<10;i++,p++)
printf("%d ",*p);
return 0;
}
void compare(int a[])
{
int j,max,min,m=0,n=0,t;
max=a[0];min=a[0];
for (j=0;j<10;j++)
{if(a[j]>a[j+1])
{max=a[j];min=a[j+1];m=j;n=j+1;}
else
{max=a[j+1];min=a[j];m=j+1;n=j;}
}
t=a[0];
a[0]=min;
a[n]=t;
t=a[9];
a[9]=max;
a[m]=t;
}


第四题:
#include
void move(int*a,int n,int m);
int main()
{
int a[10],i,m;
printf("请输入十个数:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("请输入移动位置个数:\n");
scanf("%d",&m);
move(a,10,m);
for(i=0;i<10;i++)
printf("%4d ",a[i]);
return 0;
}
void move(int*a,int n,int m)
{
int i,*p,*q,k;
for(i=0;i{q=a+n-1;
p=q-1;
k=*q;
while(p>=a)
{*q=*p;
p--;
q--;
}
a[0]=k;
}
}
第六题:
#include
#include
int main()
{
char str1[10],*p1;
printf("请输入一串字符串:\n");
scanf("%s",str1);
p1=str1;
printf("%d",strlen(p1));
return 0;
}
第十四题:
#include
int main()
{
void inv(int *x,int n);
int a[10],i;
printf("请输入十个数:\n");
for (i=0;i<10;i++)
scanf("%d",&a[i]);
inv(a,10);
for(i=0;i<10;i++)
printf("%d ",a[i]);
return 0;
}
void inv(int *x,int n)
{
int *p,temp,*i,*j,m=(n-1)/2;
i=x;j=x+n-1;p=x+m;
for(;i<=p;i++,j--)
{ temp=*i;*i=*j;*j=temp;}
return;
}










相关文档
最新文档