资源描述:
《C语言程序设计第九-十一章习题参考答案》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、C语言第九章参考答案1.选择题:123456789012ADCDBBCDDCBB2.填空题:(1)指针或者地址(2)110⑶①char*p;②p=&ch;③scanf(”%c”,p);④*p='a';⑤printf("%cH,*p);(4)10(5)0、7(6)ab(7)abcdcd(8)7u1(9)void(*p)(int*,int*);(10)r+b[k]⑴)' ‘、n++;(12)aegi3.改错题:(1)第一处改正:*sub=x-y第二处改正:scanf(,,%f%f',,&x,&y);第三处改正:calc(x,y,&add,&sub);(2)第一处:charswap(cha
2、r*pl,char*p2)改为voidswap(char*pl,char*p2)第二处:strcpy(p,pl)改为strcpy(p,p2)(3)第一处:p1=p1+m改为pl=pl+m-1第二处:*pl=*p2改为*p2=*pl第三处:*p2=M M改为*p2=, ,(4)笫一处:char*fun(char*str,chart)改为char*fun(char*str,char*t)第二处:s=NuLL改为s=NULL;第三处:if(r==p)改为if(*r==*p)(5)第一处:fun(int**b,intn)改为fun(int(*b)[N],intn)第二处:b[j][k]=k
3、*j改为b[j][k]=(k+l)*(j+l)4编程题(1)广习题9-4-17voidmove(intarray[20],intn,intm);main(){intnumber[20],n,m,i;printf(HHowmanynumbers?");广共有多少个数*/scanf(”%d”,&n);printf("lnput%dnumbers:",n);广输入n个数*/for(i=0;ivn;i++)scanfC%d”,&number[i]);printf(HHowmanyplaceyouwanttomove?");广后移多少个位置*/scanf("%du,&m);move(numb
4、er,n,m);厂调用move函数"7printf("Now,theyare:u);for(i=0;iarray;p—)*p=*(p-1);*array=array_end;m-;if(m>0)move(array,n,m);广递归调用,当循环次数m减至0时,停止调用*/}⑵广习题9-4-2*/#include#inc
5、lude#defineTOTAL6intmseek(char*str[],charxstr[],intn){inti;for(i=0;i6、Found!rT);elseprintf("Notfoundin'*);}⑶广习题9-4-3*/#include#includevoidfun(char*str,intnum[4]){inti;for(i=0;i<4;i++)num[i]=0;while(*str!=,Ot){if(*str>=,a,&&*str<=,z,
7、
8、*str>=*A*&&*str<='Z')num[O]++;elseif(*str=='')num[1]++;elseif(*str>='0*&&*str<=,9,)num[2]++;elsenum[3]++;str++;
9、}}#defineN80main(){intstring[N];intn[4],i;gets(string);fun(string,n);for(i=0;iv4;i++)printf(”%dt”,n[i]);}(4)广习题9-4-47r调试时,可这样输入数据:*//*11121314152122232425313233343541424344455152535455*/#includemain(){inta⑸[5],*p,i