文档详情

C语言程序设计清华大学马秀丽刘志妩科后习题9答案.doc

发布:2017-02-01约1.72万字共41页下载文档
文本预览下载声明
习 题 9 二 编程题 main(){ int n,*a,i,j,t=0; scanf(%d,n); for(i=0;in;i++) for(j=0;jn;j++) scanf(%d,a+i*n+j); for(i=0;in;i++) for(j=0;ji;j++) if (*(a+i*n+j)!=0) t=1; if (t==0) printf(is xia san jiao fang zhen); else printf(not is xia san jiao zhen); } 运行结果: 有一个字符串,包含n个字符,将字符串从第i个字符到第j个字符间的字符逆置。 #include stdlib.h #include stdio.h void main() {char *s,ch; int i,j; printf(input string s\n); scanf(%s,s); printf(input i j\n); scanf(%d %d,i,j); for(;ij;i++,j--) {ch=*(s+i); *(s+i)=*(s+j);*(s+j)=ch; }printf(%s,s); } 运行结果: 编写一个函数,对n个字符开辟连续的存储空间,此函数返回一个指针(地址)指向字符串开始的空间。 # define NULL 0 # define NEWSIZE 1000/*足够大的连续存储空间*/ static char newbuf[NEWSIZE]; static char *newp=newbuf;/*可用存储区的起始地址的指针*/ char *new(n)/*定义开辟n个字符连续存储空间的函数,此函数返回一个指针(地址)*/ int n; { if(newp+n=newbuf+NEWSIZE)/*存储空间够用*/ { newp+=n;/*起始地址指向新地方*/ return(newp-n);}/*返回n个字节连续空间的开始地址*/ else return(NULL);}/*如果存储空间不够,返回空指针*/ main() { char *p; p=new(100);/*调用函数开辟100个字符的连续可用空间*/ printf(%u,p);} 运行结果: 题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 .程序源代码: main() { int number[20],n,m,i; printf(the total numbers is:); scanf(%d,n); printf(back m:); scanf(%d,m); for(i=0;in-1;i++)  scanf(%d,,number[i]); scanf(%d,number[n-1]); move(number,n,m); for(i=0;in-1;i++)  printf(%d,,number[i]); printf(%d,number[n-1]); } move(array,n,m) int n,m,array[20]; { int *p,array_end; array_end=*(array+n-1); for(p=array+n-1;parray;p--)  *p=*(p-1);  *array=array_end;  m--;  if(m0) move(array,n,m); } 运行结果: 输入n个整数,将最小数与第一个数对换,把最大数与最后一个数对换 main() { int number[10]; input(number); max_min(number); output(number); } input(number) int number[10]; {int i; for(i=0;i9;i++)  scanf(%d,,number[i]);  scanf(%d,number[9]); } max_min(array) int array[10]; {int *max,*min,k,l; int *p,*arr_end; arr_end=array+10; max=min=array; for(p=array+1;parr_end;p++)  if(*p*max) max=p;  else if(*p*min) min=p;  k=*max;  l=*min;  *p=array[0];array[0]=l;l=*p;  *p=array[9];array[9]=k;k=*p;  return; } output(array) int array[10]; { int *p; for(p=array;parray+9;p++)  printf(%d,,*p); printf(%
显示全部
相似文档