问题
填空题
以下程序用来统计从终端输入的字符中大写字母的个数。以"$"作为输入结束标记。 #include<stdio.h> #include<ctypc.h> main() {int num[126],i;char c; for(i=0;i<26;i++) num[i]=0; while((______)!=’$’)/*第一空*/ if(isupper(c))num[c-65]+=1; for(i=0;i<26;i++) if(______)/*第二空*/ printf("%c:%d\n",______,num[i]);/*第三空*/ }
答案
参考答案:c=getchar()/*第一空。得到从键盘输入的值,并判断是不是结束标志"$"*/
解析:num[i]/*第二空。判断用以记录个数的数组元素是否为0,如为0则不输出*/ i+65/*第三空。从语句"num[c-65]+=1;"可知数组对字符的记录是通过下标和字符的ASCⅡ值之间的关系进行的。故此处应填上与之相应的换算关系*/