发布时间 : 星期三 文章C语言第五章习题-2011.10.14更新更新完毕开始阅读58b91335a32d7375a4178099
④是( )。
#include
{ float x[1000], sum=0, ave, a; int n=0, i;
printf(\ scanf(\
while (a>0&&n<1000) { sum+=①; x[n]=②; n++;
scanf(\ }
ave=③;
printf(\ printf(\ for (i=0; i if ( ④ ) printf(\} 12.下面程序将二维数组a的行和列元素互换后存到另一个二维数组b中,请填空, ①是( )、②是( )、③是( )。 main() { int a[2][3]={{1, 2, 3}, {4, 5, 6}}; int b[3][2], i, j; printf(\ for (i=0; { printf(\ ②; } printf(\ } printf(\ for (i=0; ③; i++) { for (j=0; j<=1; j++) printf(\ printf(\ } } 13.下面程序的功能是检查二维数组是否对称(即:对所有i和j都有a[i][j]=a[j][i])。 请填空,①是( )、②是( )。 main() - 5 - { } int a[4][4]={1, 2, 3, 4, 2, 2, 5, 6, 3, 5, 3, 7, 4, 6, 7, 4}; int i, j, found=0; for (j=0; j<4; j++) for ( ①; i<4; i++) if (a[j][i]!=a[i][j]) { ②; break; } if (found) printf(\else printf(\ - 6 - 练习5-3 一、选择题 1.为了判断两个字符串s1和s2是否相等,应当使用( )。 A.if (s1==s2) B.if (s1=s2) C.if (strcpy(s1, s2)) D.if (strcmpy(s1, s2)==0) 2.调用strlen(\的返回值是( )。 A.4 B.5 C.8 D.9 3.已知:char str1[10], str2[10]={\,则在程序中能够将字符串\赋给数组str1的正确语句是( )。 A.str1={\B.strcpy(str1, str2); C.str1=str2; D.strcpy(str2, str1); 4.下面程序段的运行结果是( )。(注:□代表空格) char c[5]={'a', 'b', '\\0', 'c', '\\0'}; printf(\A.'a''b' B.ab C.ab□c D.ab□ 5.下面程序段的运行结果是( )。(注:□代表空格) char a[7]=\char b[4]=\strcpy(a, b); printf(\A.□ B.\\0 C.e D.f 二、填空题 6.以下程序是对键盘输入的两个字符串进行比较,然后输出两个字符串中第一个不同字符的ASCII码之差。例如:输入的两个字符串分别为\和\,则第一个不同字符为'd'和'e',输出为-1.请填空,①是( )、②是( )。 #include {char str1[100], str2[100], c; int i, s; printf(\ gets(str1); printf(\ gets(str2); i=0; while ((str1[i]==str2[i]&&str1[i]!=①)) i++; s=②; printf(\} 7.下面程序的功能是在三个字符串中找出最小的。请填空,①是( )、②是( )。 #include - 7 - {char s[20], str[3][20]; int i; for (i=0; i<3; i++) gets(str[i]); strcpy(s, ① ); if (strcmp(str[2], s)<0) strcpy(s, str[2]); printf(\② ); } 8.下面程序的功能是在任意的字符串a中将与字符'c'相等的所有元素的下标值分别 存放在整型数组b中,请填空,①是( )、②是( )。 #include {char a[80]; int i, b[80], k=0; gets(a); for (i=0; a[i]!='\\0'; i++) if ( ① ) { b[k]=i; ②; } for (i=0; i 三、读程序,写结果 9.当运行以下程序时,从键盘输入:AhaMA□Aha {char s[80], c='a'; int i=0; scanf(\ while (s[i]!='\\0') { if (s[i]==c) s[i]=s[i]-32; else if (s[i]==c-32) s[i]=s[i]+32; i++; } puts(s); } 10.下面程序的运行结果是( )。 #include { char str[]=\ int k; for (k=2; (c=str[k])!='\\0'; k++) { switch (c) { case 'I':++k; break; - 8 - case 'L': continue; default: putchar(c); continue; } putchar('*'); } } .下面程序段的运行结果是( )。 char ch[]=\int a, s=0; for (a=0; ch[a]>='0'&&ch[a]<='9'; a++) s=10*s+ch[a]-'0'; printf(\ - 9 - 11