#include
scanf (“%s”, str); printf (“%s”, str);
}
运行程序,输入:Fortran Language
【7.56】阅读程序,写出执行结果。 #include “stdio.h” main ( ) { char str[30]; gets (str); printf (“%s\\n”, str); {
运行程序,输入:Fortran Language
【7.57】阅读程序,写出执行结果。 #include “stdio.h” func ( int b[ ] ) { int j;
for (j=0; j<4; j++)
b[j]=j;
} main ( ) { int a[4], i; func (a);
for ( i=0; i<4; j++) printf ( “%d”, a[i]); }
【7.58】写出程序的运行结果。 #include
{ char str[100] = “How do you do”; strcopy ( str + strlen(str)/2,”es she”); printf (“%s\\n”,str);
}
【7.59】运行下面的程序,如果从键盘上输入字符串“qwerty”和字符串“abcd“,请写出程序的运行结果。
#include
while ( a[num]!=?\\0? ) num++; while (b[n]) { a[num]=b[n];
num++; n++; }
return ( num );
} main ( )
{ char str1[81], str2[81]; gets (str1); gets (str2);
printf (“%d\\n”, strle (str1, str2 ) ); }
7.3 程序选择填空
【7.60】下面程序输出两个字符串中对应位置相同的字符。请选择填空。 #include
while ( x[i]!=?\\0? && y[i]!=?\\0? ) if ( x[i]= =y[i] ) printf(“%c”, ① ); else i++;
}
A) x[i++] B) y[++i] C) x[i] D) y[i]
【7.61】有已按升序排好序的字符串a,下面的程序是将字符串s中的每个字符按升序的规则插到数组a中。
#include
{ char a[20] = “cehiknqtw”; char s[ ] = “fbla”;
int i, k, j;
for ( k=0; s[k]!=?\\0?; k++) { j=0;
while ( s[k]>=a[j] && a[j]!=?\\0? ) j++; for ( ① ) ② ; a[j]=[k]; } puts(a);
}
① A) i=stlen(a)+k; j>=j; i-- B) i=strlen(a); i>=j; i-- C) i=j; i<=strlen(a)+k; i++ D) i=j ; i<=strlen(a); i++
② A) a[i]=a[i+1] B) a[i+1]=a[i] C) a[i]=a[i-1] D) a[i-1]=a[i]
【7.62】下面程序的功能是将已按升序排好的两个字符串a和b中的字符按升序归并到字符串c中。 #include
{ char a[ ]=”acegikm”; char b[ ]=”bdfhjlnpq”; char c[80],*p; int i=0, j=0, k=0;
while ( a[i]!=?\\0? && b[j]!=?\\0? ) { if ( a[i]
else { ② } k++;
} c[k]=?\\0?; if ( ③ ) p=b+j; else p=a+i; strcat( c, p);
puts( c );
}
① A) c[k]=a[i]; i++; B) c[k]=a[j]; i++;
C) c[k]=b[i]; j++; D) c[k]=b[j]; j++;
② A) c[k]=a[i]; i++; B) c[k]=a[j]; i++;
C) c[k]=a[i]; j++; D) c[k]=b[j]; j++;
③ A) a[i]= =?\\0? B) a[i]!=?\\0?
C) a[i-1]= =?\\0? D) a[i-1]!=?\\0?
【7.63】下面程序的功能是将字符串 s中所有的字符’c’ 删除。请选择填空。
#include
for (i=j=0; s[i]!= ?\\0?; i++ ) if ( s[i]!=?c? ) ; s[j]= ?\\0?; puts(s); }
A) s[j++]=s[i] B) s[++j]=s[i] C) s[j]=s[i];j++ D) s[j]=s[i]
【7.64】下面程序的功能是从键盘输入一行字符,统计其中有多少个单词。假设单词之间是以空格分隔。
#include
{ char s[80],c1,c2=’’; int i=0, num=0; gets(s);
while ( s[i]!=’\\0’) { c1=s[i];
if ( i==0 ) c2=’’; else c2=s[i-1]; if ( ) num++; i++; }
printf(“There are %d words.\\n”,num); }
A) c1==’’&&c2==’’ B) c1!=’’&&c2==’’ C) c1==’’&&c2!==’’ D) c1!=’’&&c2!=’’
【7.65】*口袋中有红,黄,蓝,白,黑色彩球各一个,任意从中取出3个,问:可以有多少种不同(顺序
不限)的取法。下列的程序用来输出全部不同的取法,格式为“第1种“---”。注意:程序中的计次是从1开始,而不是从0开始的。
#include
main ( )
{ int i, j, k, m, n, a[100][3]; m=0;
for ( ① ; i<5; i++) for ( j= ② ; j<5; j++) for ( k= ③ ; k<5; k++) { a[m][0]=i; a[m][1]=j; a[m][2]=k; printf (“\\n第-种: “, ④ ); for ( n=0; n<3; n++) switch ( ⑤ )
{ case 0: printf (“RED ”); break; case 1: printf (“YELLOW”); break; case 2: printf (“BLUE ”); break; case 3: printf (“WHITE “); break; case 4: printf (“BLACK “); break; } m++; } }
① A) i=1 B) i=1; C) i=0 D) i=0; ② A) i B) i+1 C) 0 D) 1 ③ A) j B) j+1 C) 0 D) 1 ④ A) i+1 B) j+1 C) k+1 D) m+1
⑤ A) a[m][n] B) a[m][i] C) a[m][j] D) a[m][k]
【7.66】*某人有5张2分的邮票和5张3分的邮票,问使用这些邮票可以组合出多少种不同面值的邮资。(例如:1张2分邮票加1张3分邮票可以组成5分的邮资;3张2分的邮票或2张3分的邮票都可以组成同样的6分邮资。) #include
for ( j =0 ) ② ;j++) {
S = ③ ;
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库第七章 数组(3)在线全文阅读。
相关推荐: