题目描述
读入一个字符串,统计里面英文字母a到z出现的次数?(假设所有输入字符都为小写)
输入
输入一行字符,可能包含小写字母、空格和其他字符。
输出
输出包括一行,包含所有字符个数不为零的字符及其个数,每项之间用空格隔开。
样例
输入
our school is very beautiful.
输出
a:1 b:1 c:1 e:2 f:1 h:1 i:2 l:2 o:3 r:2 s:2 t:1 u:3 v:1 y:1
开一个长度是26的数组,每一个元素存储次数,比如数组的第一个元素存储a出现的次数,第二个元素存储b出现的次数,然后遍历字符串,让数组元素++即可,最后输出的时候遍历这个数组,将不为0的输出出来
不会说思路,只会贴代码。
#include<stdio.h>
int main()
{
char str[100];
int i=0,num[26] = {0};
gets_s(str,100);
//scanf_s("%[^\n]", str,100);
while (str[i])
{
if (str[i] >= 'a'&&str[i] <= 'z')
num[str[i] - 'a']++;
i++;
}
for (i = 0; i < 26; i++)
{
if (num[i] > 0)
printf("%c:%d ", i + 'a', num[i]);
}
return 0;
}
只要大家告诉我一下做题思路即可,无需代码