问答题 编写程序,统计在输入字符串中各个不同字符出现的频度并将结果存入文件(字符串中的合法字符为A~Z这26个字母和0~9这10个数字)。 【西北大学2000四(10分)】
【正确答案】正确答案:26个字母加上10个数字符号共36个,所以设一长36的整型数组,前10个分量存放数字字符出现的次数,余下存放字母出现的次数。从字符串中读出数字字符时,字符的ASCII代码值减去数字字符‘0’的ASCII代码值,得出其数值(0..9),字母的ASCII代码值减去字符"A"的ASCII代码值加上10,存入其数组的对应下标分量中。遇其他符号不作处理,直至输入字符串结束。 for(i=0;i<36;i++)num[i]=0; //初始化 while((ch=getchar())!="#") //‘#’表示输入字符串结束 if(ch>=‘0’&&ch<=‘9’){i=ch-48;num[i]++;} //数字字符 else if(ch>="A"&&ch<="Z")(i=ch一65+10;num[i]++;} //字母字符
【答案解析】