求教,C语言题目

来源:百度知道 编辑:UC知道 时间:2024/06/17 14:39:14
今天要交的作业,希望高手指教,是C语言哦,不是C++。ps:我们学得还比较简单,不要做得太复杂。谢谢大家!
输入一串字符,统计并输出字符串中出现频率最高的字母及出现次数,可能有多个出现频率最高的字母,字母不区分大小写,输出时用大写字母,输出格式printf("%c:%d\t", );程序说明:用数组来统计各字母个数。如:用a[0]统计’a’字母的个数,a[25]统计’z’字母的个数
输入:the c programming language
输出:G:4
输入:abc ABC ABCDxyz
输出:A:3 B:3 C:3

#include <stdio.h>

int main()
{
int nNum[26] = {0};
char ch;
int nMax;
int i;

while ((ch = getchar()) != '\n')
{
if (ch >= 'a' && ch <= 'z')
{
nNum[(int)(ch-'a')]++;
}
else if (ch >= 'A' && ch <= 'Z')
{
nNum[(int)(ch-'A')]++;
}
}

nMax = nNum[0];

for (i = 1; i < 26; i++)
{
if (nNum[i] > nMax)
nMax = nNum[i];
}
for (i = 0; i < 26; i++)
{
if (nMax == nNum[i])
{
printf("%c:%d ", 'A'+(char)i, nNum[i]);
}

}
printf("\n");

return 0;
}

#include "stdio.h"
main()
{
int a[26],i;
char *ch;
for(i=0;i<26;i++)
a[i]=0;
scanf("%s",ch);
while(ch)
{
if(