C语言第十章习题答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C程序设计[谭浩强](第三版)课后答案第十章指针2010-06-25 14:04

第十章指针

10.1

main()

{int n1,n2,n3;

int *p1,*p2,*p3;

scanf("%d,%d,%d",&n1,&n2,&n3);

p1=&n1;

p2=&n2;

p3=&n3;

if(n1>n2)swap(p1,p2);

if(n1>n3)swap(p1,p3);

if(n2>n3)swap(p2,p3);

printf("%d,%d,%d\n",n1,n2,n3);

}

swap(p1,p2)

int *p1,*p2;

{int p;

p=*p1;*p1=*p2;*p2=p;

}

10.2

main()

{char *str1[20],*str2[20],*str3[20];

char swap();

scanf("%s",str1);

scanf("%s",str2);

scanf("%s",str3);

if(strcmp(str1,str2)>0)swap(str1,str2);

if(strcmp(str1,str3)>0)swap(str1,str3);

if(strcmp(str2,str3)>0)swap(str2,str3);

printf("%s\n%s\n%s\n",str1,str2,str3);

}

char swap(p1,p2)

char *p1,*p2;

{char *p[20];

strcpy(p,p1);

strcpy(p1,p2);

strcpy(p2,p);

}

10.3

main()

{int number[10];

input(number);

max_min_value(number); output(number);

}

input(number)

int number[10];

{int i;

for(i=0;i<10;i++)

scanf("%d",&number);

}

max_min_value(number)

int number[10];

{int *max,*min;

int *p,*end;

end=number+10;

max=min=number;

for(p=number+1;p*max)max=p;

else if(*p<*min)min=p;

*p=number[0];

number[0]=*min;

*min=*p;

*p=number[9];

number[9]=*max;

*max=*p;

return;

}

output(number)

int number[10];

{int *p;

for(p=number;p

printf("%d\n",*p);

}

10.4

main()

{int number[20],n,m,i;

scanf("%d",&n);

scanf("%d",&m);

for(i=0;i

scanf("%d",&number); move(number,n,m);

for(i=0;i

printf("%8d",number);

}

move(array,n,m)

int array[20],n,m;

{int *p,end;

end=*(array+n-1);

for(p=array+n-1;p>array;p--) *p=*(p-1);

*array=end;

m--;

if(m>0)move(array,n,m);

}

10.5

#define nmax 50

main()

{int i,k,m,n,num[nmax],*p; scanf("%d",&n);

p=num;

for(i=0;i

*(p+i)=i+1;

i=k=m=0;

while(m

{if(*(p+i)!=0)k++;

if(k==3)

{*(p+i)=0;

k=0;

m++;

}

i++;

if(i==n)i=0;

}

while(*p==0)p++;

printf("%d",*p);

}

10.6

main()

{int len;

char *str[20];

scanf("%s",str);

len=length(str);

printf("\nlen=%d\n",len);

}

length(p)

char *p;

{int n=0;

while(*p!='\0')

相关文档
最新文档