好文档 - 专业文书写作范文服务资料分享网站

《C语言程序设计》课后习题答案(第四版)谭浩强23019

天下 分享 时间: 加入收藏 我要投稿 点赞

printf(\ for (i=0;i

printf(\ \ printf(\ return 0; }

void move(int array[20],int n,int m) {int *p,array_end;

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

*array=array_end; m--;

if (m>0) move(array,n,m); } 8-5

#include int main()

{int i,k,m,n,num[50],*p;

printf(\ scanf(\ p=num;

for (i=0;i

*(p+i)=i+1; i=0; k=0; m=0; while (m

if (k==3) {*(p+i)=0; k=0; m++; } i++;

if (i==n) i=0; }

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

printf(\ return 0; }

8-6

#include int main()

{int length(char *p); int len;

char str[20];

printf(\ \scanf(\len=length(str);

printf(\return 0; }

int length(char *p) {int n; n=0;

while (*p!='\\0') {n++; p++; }

return(n); } 8-7

#include #include int main()

{void copystr(char *,char *,int); int m;

char str1[20],str2[20]; printf(\ gets(str1);

printf(\ scanf(\ if (strlen(str1)

printf(\ else

{copystr(str1,str2,m);

printf(\ } return 0;

}

void copystr(char *p1,char *p2,int m) {int n; n=0;

while (n

while (*p1!='\\0') {*p2=*p1; p1++; p2++; } *p2='\\0'; } 8-8

#include int main()

{int upper=0,lower=0,digit=0,space=0,other=0,i=0; char *p,s[20];

printf(\ \

while ((s[i]=getchar())!='\\n') i++; p=&s[0];

while (*p!='\\n')

{if (('A'<=*p) && (*p<='Z')) ++upper;

else if (('a'<=*p) && (*p<='z')) ++lower; else if (*p==' ') ++space;

else if ((*p<='9') && (*p>='0')) ++digit; else

++other; p++; }

printf(\ lower case:%d\

printf(\ space:%d digit:%d other:%d\\n\return 0; }

8-9

#include int main()

{void move(int *pointer); int a[3][3],*p,i;

printf(\ for (i=0;i<3;i++)

scanf(\ p=&a[0][0]; move(p);

printf(\ for (i=0;i<3;i++)

printf(\ return 0; }

void move(int *pointer) {int i,j,t;

for (i=0;i<3;i++) for (j=i;j<3;j++)

{t=*(pointer+3*i+j);

*(pointer+3*i+j)=*(pointer+3*j+i); *(pointer+3*j+i)=t; } }

8-10-1

#include int main()

{void change(int *p); int a[5][5],*p,i,j;

printf(\ for (i=0;i<5;i++) for (j=0;j<5;j++)

scanf(\ p=&a[0][0]; change(p);

printf(\ for (i=0;i<5;i++) {for (j=0;j<5;j++)

printf(\ printf(\ }

return 0; }

void change(int *p) {int i,j,temp;

int *pmax,*pmin; pmax=p; pmin=p;

for (i=0;i<5;i++) for (j=i;j<5;j++)

{if (*pmax<*(p+5*i+j)) pmax=p+5*i+j; if (*pmin>*(p+5*i+j)) pmin=p+5*i+j; }

temp=*(p+12); *(p+12)=*pmax; *pmax=temp;

temp=*p; *p=*pmin; *pmin=temp; pmin=p+1;

for (i=0;i<5;i++) for (j=0;j<5;j++)

if (((p+5*i+j)!=p) && (*pmin>*(p+5*i+j))) pmin=p+5*i+j; temp=*pmin; *pmin=*(p+4); *(p+4)=temp; pmin=p+1;

for (i=0;i<5;i++) for (j=0;j<5;j++)

if (((p+5*i+j)!=(p+4))&&((p+5*i+j)!=p)&&(*pmin>*(p+5*i+j)))pmin=p+5*i+j; temp=*pmin; *pmin=*(p+20); *(p+20)=temp; pmin=p+1;

for (i=0;i<5;i++) for (j=0;j<5;j++)

if (((p+5*i+j)!=p) && ((p+5*i+j)!=(p+4)) && ((p+5*i+j)!=(p+20)) (*pmin>*(p+5*i+j))) pmin=p+5*i+j;

temp=*pmin; *pmin=*(p+24); *(p+24)=temp; }

&&

87azb13lxw6x2111f20r4n7xz5ee5l00bm8
领取福利

微信扫码领取福利

微信扫码分享