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
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 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 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 {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 {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 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 {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 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