《C程序设计(第三版)》习题(编程题)解答(9)

2020-02-21 15:47

max_min_value(number); output(number); }

void input(int *number) {int i;

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

scanf(\ }

void max_min_value(int *number) { int *max,*min,*p,temp; max=min=number;

for (p=number+1;p*max) max=p; else if (*p<*min) min=p;

temp=number[0];number[0]=*min;*min=temp; if(max==number) max=min;

temp=number[9];number[9]=*max;*max=temp; }

void output(int *number) {int *p;

printf(\ \ for (p=number;p

方法二: #include void main()

{ void input(int *);

void max_min_value(int *); void output(int *); int number[10];

input(number); max_min_value(number); output(number); }

void input(int *number) {int i;

printf(\

41

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

scanf(\ }

void max_min_value(int *number) /* 交换函数 */

{ int *max,*min,*p,temp;

max=min=number; /* 开始时使max和min都指向第一个数 */ for (p=number+1;p

if (*p<*min) min=p; /*若p指向的数小于min指向的数,就使min指向p指向的小数 */ temp=number[0];number[0]=*min;*min=temp; /* 将最小数与第一个数number[0]交换 */ for (p=number+1;p

if (*p>*max) max=p; /* 若p指向的数大于max指向的数,就使max指向p指向的大数 */

temp=number[9];number[9]=*max;*max=temp; /* 将最大数与最后一个数交换 */ }

void output(int *number) {int *p;

printf(\ \ for (p=number;p

#include void main()

{void move(int [20],int,int); int number[20],n,m,i;

printf(\ scanf(\

printf(\ for (i=0;i

scanf(\

printf(\ scanf(\ move(number,n,m); printf(\ for (i=0;i

printf(\ \ printf(\

}

void move(int array[20],int n,int m)

42

{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); } 10.5

#include void 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(\} 10.6

#include void main()

{int length(char *p); int len; char str[20];

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

43

printf(\}

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

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

#include #include

void main()

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

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

gets(str1);

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

{copystr(str1,str2,m);

printf(\ } }

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

while (n

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

44

*p2='\\0'; } 10.8

#include void 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\}

10.9

#include void 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(\ }

void move(int *pointer)

45


《C程序设计(第三版)》习题(编程题)解答(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于进一步加强建筑工地职工夜校管理的通知

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: