习题五参考答案:
一、单项选择题
【习题5-1】~【习题5-8】 DCABBDCA 二、阅读程序写结果或填空题 【习题5-9】~ ⑴ 二 ⑵ 4 ⑶ 'B' 【习题5-10】5
【习题5-11】a[k][k]
【习题5-12】⑴ a[0] ⑵ a[k] ⑶ t 【习题5-13】⑴ b[j] ⑵ a[m] ⑶ k<12 【习题5-14】运行结果为:
【习题5-15】1 1 1
【习题5-16】
三、编写程序题 【习题5-17】: #include
int a[10],b[6],c[10]; int i,j,k,m;
for(m=0;m<10;m++) scanf(\ for(m=0;m<6;m++) scanf(\ printf(\ i=0;k=0; while(i<10)
{ for(j=0;j<6;j++) if(a[i]==b[j]) break; if(j>=6) {c[k]=a[i];k++;} i++; }
for(m=0;m 【习题5-18】: #include main() { int a[3][4],s=0,m,n; for(m=0;m<3;m++) for(n=0;n<4;n++) scanf(\ printf(\ for(m=0;m<3;m++) s=s+a[m][0]+a[m][3]; for(n=1;n<3;n++) s=s+a[0][n]+a[2][n]; printf(\} 【习题5-19】: #include char a[20],b[20]; int m,n,k,f; gets(a);gets(b); m=strlen(a);n=strlen(b); k=0; while((a[k]==b[k])&&k printf(\} 【习题5-20】: #include char s[20],t; int k,n=0; gets(s); for(k=0;k if((s[k]>='A'&&s[k]<='Z')||( s[k]>='a'&&s[k]<='z')) n++; printf(\} 【习题5-21】: #include int a[10],k,m,n,j; for(j=0;j<10;j++) scanf(\ printf(\ scanf(\ n=9; do { for(j=0;j for(m=j;m a[m]=a[m+1]; n=n-1; } } while(1); printf(\ for(j=0;j 习题六参考答案: 一、单项选择题【习题6-1】~【习题6-10】 B D A C B D A C C D 二、阅读下列程序,填空或给出程序运行结果。 【习题6-11】 num=*b, num =*c 【习题6-12】*p1++,*p2 【习题6-13】*(a+j), a+j 【习题6-14】8 7 6 5 4 3 2 1 【习题6-15】 2 ,3, 4, 5, 6. 【习题6-16】1711717 【习题6-17】ga 三、 编写程序程题 【习题6-18】 #include \void main() { int a[10]={3,42,6,12,33,55,25,45,76,93}; int i,j,k,x,*p; scanf(\ p=a; if (k>0&&k<10) { for (i=0;i *(p+j)=*(p+j-1); *p=x; } } for (i=0;i<10;i++) printf(\} 【习题6-19】 #include \#include \void main() { int a[3][3]={42,6,12,33,55,25,45,76,93}; int i,j,*sum; sum=(int *)malloc(3*sizeof(int)); for (i=0;i<3;i++) { for(j=0;j<3;j++) *(sum+i)+=a[i][j]; } for(i=0;i<3;i++) printf(\ } 【习题6-20】 #include \#include \void main() { int a[3][3]={1,2,5,4,3,6,9,8,7}; int i,j,(*p)[3],max; int r,c,flag=1; p=a; for (i=0;i<3;i++) {flag=1; max=*(*(p+i)); r=i;c=0; for(j=1;j<3;j++) { if (max<*(*(p+i)+j)) {max= *(*(p+i)+j); r=i;c=j; } } for(j=0;j<3;j++) {if (max > *(*(p+j)+c)) flag=0; } if (flag) printf(\ } } 【习题6-21】 #include \#include \main() { char str[50],*p1,*p2; printf(\ gets(str); p1=str;p2=str; while(*p2!='\\0') { p2++; } p2--; while(*p1==*p2&&p1 if (p1==p2) printf(\ else printf(\} 【习题6-22】 #include \#include \ void replace(char *str, char ch, char ch2); main() { char str[50]; char c1,c2; printf(\ strings\\n\ gets(str); printf(\ two char \\n\ scanf(\ replace(str,c1,c2); printf(\} void replace(char *str, char ch, char ch2) { char *p1; p1=str; while(*p1!='\\0') { if(*p1==ch) { *p1=ch2; } p1++; } } 【习题6-23】 #include \#include \ int delStr(char *str, char ch); main() { char str[80]=\ char ch; int i; scanf(\ printf(\ i=delStr(str,ch); printf(\} int delStr(char *str, char ch)