C语言题目,从键盘输入一行文本,统计其中每个英文字母出现的频率
Description从键盘输入一行文本,统计其中每个英文字母出现的频率,并输出出现过的英文字母及其次数,未出现过的不需要显示。为了简化问题的复杂度,假设在统计过程中不区...
Description
从键盘输入一行文本,统计其中每个英文字母出现的频率,并输出出现过的英文字母及其次数,未出现过的不需要显示。为了简化问题的复杂度,假设在统计过程中不区分字母的大小写,即'A'与'a'被认为是一种字母。
Input
先从键盘输入一行文本。以换行符结束。
Output
输出统计结果。
Sample Input:
Studing C Language
Sample Output:
‘A’:2
‘C’:1
‘D’:1
‘E’:1
‘G’:3
‘I’:1
‘L’:1
‘N’:2
‘S’:1
‘T’:1
‘U’:2 展开
从键盘输入一行文本,统计其中每个英文字母出现的频率,并输出出现过的英文字母及其次数,未出现过的不需要显示。为了简化问题的复杂度,假设在统计过程中不区分字母的大小写,即'A'与'a'被认为是一种字母。
Input
先从键盘输入一行文本。以换行符结束。
Output
输出统计结果。
Sample Input:
Studing C Language
Sample Output:
‘A’:2
‘C’:1
‘D’:1
‘E’:1
‘G’:3
‘I’:1
‘L’:1
‘N’:2
‘S’:1
‘T’:1
‘U’:2 展开
3个回答
展开全部
#include <stdio.h>
int main(void)
{
int i; //i和j都是循环变量
char j;
char a; //保存输入的字符
int b[26]={0}; //存放26个字母的出现频率
while ((a = getchar()) != '\n') //输入字符直到遇到回车为止,while循环为核心算法
{
for (j='A';j<='Z';++j) //从'A'开始比较
{
if (a == j || a == j+('a'-'A'))
{
b[j-'A']++; //数组b[ ]的第一个元素b[0]存'A'的出现频率
} //第一个元素b[1]存'B'的出现频率,以此类推
}
}
for (i=0;i<26;++i)
{
if (b[i] == 0)
{
continue;
}
else
{
printf("'%c':%d\n",i+'A',b[i]); //打印时通过 i+'A' 打印字母,通过b[i]的值打印频率
}
}
printf("\n");
}
int main(void)
{
int i; //i和j都是循环变量
char j;
char a; //保存输入的字符
int b[26]={0}; //存放26个字母的出现频率
while ((a = getchar()) != '\n') //输入字符直到遇到回车为止,while循环为核心算法
{
for (j='A';j<='Z';++j) //从'A'开始比较
{
if (a == j || a == j+('a'-'A'))
{
b[j-'A']++; //数组b[ ]的第一个元素b[0]存'A'的出现频率
} //第一个元素b[1]存'B'的出现频率,以此类推
}
}
for (i=0;i<26;++i)
{
if (b[i] == 0)
{
continue;
}
else
{
printf("'%c':%d\n",i+'A',b[i]); //打印时通过 i+'A' 打印字母,通过b[i]的值打印频率
}
}
printf("\n");
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
void main()
{
char c;int num[27];
for(int i=0;i++;i<27)
num[i]=0;
c=getchar();
while(c!='nl')
{
switch(c)
{
case 'a':case 'A':
num[1]++;
break;
case 'b':case 'B':
num[2]++;
break;
case 'c':case 'C':
num[3]++;
break;
case 'd':case 'D':
num[4]++;
break;
case 'E':case 'e':
num[5]++;
break;
case 'f':case 'F':
num[6]++;
break;
case 'g':case 'G':
num[7]++;
break;
case 'h':case 'H':
num[8]++;
break;
case 'i':case 'I':
num[9]++;
break;
case 'j':case 'J':
num[10]++;
break;
case 'k':case 'K':
num[11]++;
break;
case 'l':case 'L':
num[12]++;
break;
case 'm':case 'M':
num[13]++;
break;
case 'n':case 'N':
num[14]++;
break;
case 'o':case 'O':
num[15]++;
break;
case 'p':case 'P':
num[16]++;
break;
case 'q':case 'Q':
num[17]++;
break;
case 'r':case 'R':
num[18]++;
break;
case 's':case 'S':
num[19]++;
break;
case 't':case 'T':
num[20]++;
break;
case 'u':case 'U':
num[21]++;
break;
case 'v':case 'V':
num[22]++;
break;
case 'w':case 'W':
num[23]++;
break;
case 'x':case 'X':
num[24]++;
break;
case 'y':case 'Y':
num[25]++;
break;
case 'z':case 'Z':
num[26]++;
break;
default:
break;
}
c=getchar();
}
for(int i=0;i<27;i++)
{
if(num[i]!=0)
printf("%c:","%d/n:",i+64,num[i]);
}
}
void main()
{
char c;int num[27];
for(int i=0;i++;i<27)
num[i]=0;
c=getchar();
while(c!='nl')
{
switch(c)
{
case 'a':case 'A':
num[1]++;
break;
case 'b':case 'B':
num[2]++;
break;
case 'c':case 'C':
num[3]++;
break;
case 'd':case 'D':
num[4]++;
break;
case 'E':case 'e':
num[5]++;
break;
case 'f':case 'F':
num[6]++;
break;
case 'g':case 'G':
num[7]++;
break;
case 'h':case 'H':
num[8]++;
break;
case 'i':case 'I':
num[9]++;
break;
case 'j':case 'J':
num[10]++;
break;
case 'k':case 'K':
num[11]++;
break;
case 'l':case 'L':
num[12]++;
break;
case 'm':case 'M':
num[13]++;
break;
case 'n':case 'N':
num[14]++;
break;
case 'o':case 'O':
num[15]++;
break;
case 'p':case 'P':
num[16]++;
break;
case 'q':case 'Q':
num[17]++;
break;
case 'r':case 'R':
num[18]++;
break;
case 's':case 'S':
num[19]++;
break;
case 't':case 'T':
num[20]++;
break;
case 'u':case 'U':
num[21]++;
break;
case 'v':case 'V':
num[22]++;
break;
case 'w':case 'W':
num[23]++;
break;
case 'x':case 'X':
num[24]++;
break;
case 'y':case 'Y':
num[25]++;
break;
case 'z':case 'Z':
num[26]++;
break;
default:
break;
}
c=getchar();
}
for(int i=0;i<27;i++)
{
if(num[i]!=0)
printf("%c:","%d/n:",i+64,num[i]);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询