C语言实现统计字母使用次数

输入一串单词,分别统计他的每个字母的使用次数。
eg 输入aaabbbccc,输出count of a is 3 ,count of b is 3…
解题思路:如果输入的是大写字母,可以先转小写,字符a出现的次数存在arr【0】,字符b出现的次数存放在arr【1】。。依次这样,那么我们怎么让a的次数存放在arr【0】,怎么做到依次存放并且计数操作呢,我们可以建立一个变量flag,每次a输入依次让arr[flag-‘a’]++,这样,不仅做到了arr【0】存放a变量还达到了计数的功能。
有的同学可能不太懂arr[flag-‘a’]++的含义,我自己看到这里也有点迷了,因为之前自己没有这样使用过数组。那么通过下面的一个小测试,我想大家就都明白了
C语言实现统计字母使用次数_第1张图片运行结果
C语言实现统计字母使用次数_第2张图片源码如下:
int main()
{
char arr[30] = { 0 };//申请数组时要制定大小,否则会导致溢出
char flag = 0;
while ((flag = getchar()) != ‘\n’)
{
if (flag >= ‘A’&&flag <= ‘Z’)//如果flag为大写字母转换为小写字母
{
flag += 32;
}
if (flag >= ‘a’&&flag <= ‘z’)//将每个元素存放到对应的数组下标,并统计个数
{
arr[flag - ‘a’]++;
}

}
int i = 0;
for ( i = 0; i < 26; i++)//yi次访问数组元素
{
	printf("count of %c is %d \n",  'a'+i, arr[i]);

}
return 0;

}
程序执行结果:

C语言实现统计字母使用次数_第3张图片

你可能感兴趣的:(c语言,开发语言)