完整代码:
- #include <stdio.h> #include <ctype.h>
- main()
- { int x; //数组下标变量,详情看代码
- int max; //出现频率最高的字母 int char_count[26]; //26个字母出现字数的统计
- char c;
- /*将数组初始化,因为我们还没有输入嘛,所以a~z都为0啦*/ for( x= 0; x < 26; x++)
- { char_count[x] = 0;
- }
- while((c = getchar()) != EOF) {
- if(isalpha(c)) /*详情见文末*/ {
- c = tolower(c); //大写转换为小写 ++char_count[c-'a'];
- } }
- max = 0; //初始化
- /*找出出现频率最高的字母*/
- for(x = 0; x < 26; x++) {
- if(char_count[x] > max) {
- max = char_count[x]; printf("max is %d", max);
- } }
- /*打印直方图*/
- for(; max > 0; max--) {
- for(x = 0; x < 26; x++) {
- if(char_count[x] >= max) {
- putchar('x'); }
- else putchar('');










