1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 28.【C语言】键盘输入一句英文 统计句子中每个字母出现的次数(不区分大小写 一律按

28.【C语言】键盘输入一句英文 统计句子中每个字母出现的次数(不区分大小写 一律按

时间:2019-03-14 19:31:34

相关推荐

28.【C语言】键盘输入一句英文 统计句子中每个字母出现的次数(不区分大小写 一律按

问题描述:

键盘输入一句英文,统计句子中每个字母出现的次数(不区分大小写,一律按小写显示)

算法思想

用一个字符数组str[ ]获取输入的整个字符串,用一个大小为26的整型数组alp[ ]用于存放统计数据逐个扫描每个字符,在‘a’和‘z’之间或者在’A’和‘Z’之间,对应下标index的alp[index]自增打印数组alp,逐个扫描数组中的每个元素,凡是为0的均跳过打印

完整代码如下

#include <stdio.h>#include <stdlib.h>#define N 50void alp_print(int alp[]);//打印统计数字void count_alphabet(char* str);//统计字母出现次数,字母不区分大小写int main(void){char str[N];fgets(str, sizeof(str), stdin);count_alphabet(str);system("pause");return 0;}void alp_print(int alp[]){printf("----------统计数据如下------------\n");for (int i = 0; i < 26; i++){if (!alp[i])continue;printf("%c出现的次数:%d\n", i + 97, alp[i]);}}void count_alphabet(char* str){int alp[26] = {0 };int i = 0, index;while (str[i]){if (str[i] > 'a' && str[i] < 'z'){index = str[i] - 'a';alp[index]++;}else if (str[i] > 'A' && str[i] < 'Z') {index = str[i] - 'A';alp[index]++;}i++;}alp_print(alp);}

案例运行效果

28.【C语言】键盘输入一句英文 统计句子中每个字母出现的次数(不区分大小写 一律按小写显示)(Demo)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。