字母出现频率

Description

从键盘输入一行文本(小于1000字符),统计其中每个英文字母出现的频率,并输出出现过的英文字母及其次数,未出现过的不需要显示。为了简化问题的复杂度,假设在统计过程中不区分字母的大小写,即’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

#include<stdio.h>
int main()
{
	char c[1000];
	char b[26];
	int d=0;
	gets(c);
	for(int i=0;i<26;i++)//做一个大写字母字典
	{
		b[i]='A'+i;
	}
	for(int i=0;c[i]!='\0';i++)//将给的字符串全部变成大写
	{
		if(c[i]>='a'&&c[i]<='z')
		{
			c[i]-=32;
		}
	}
	for(int i=0;i<26;i++)//用字典依次判断是否有相同的字母出现如果出现过就输出一次没出现过就不输出。
	{
		for(int j=0;c[j]!='\0';j++)
		{
			if(c[j]==b[i])
			{
				d++;
			}
		}
		if(d!=0)
		{
			printf("'%c':%d\n",b[i],d);
			d=0;
		}
	}
	return 0;
}

更多推荐

C语言学习 字母出现频率