|
发表于 2018-6-3 15:38:52
|
显示全部楼层
我没有用二维数组,你说的是可以用,不是必须用 ^_^
- #include <stdio.h>
- #include <string.h>
- #define CHAR_MAX 126
- int main(void)
- {
- char buf[100];
- int char_tab[CHAR_MAX] = {0};
- printf("请输入英文文本: ");
- fgets(buf, 100, stdin);
- buf[strlen(buf) - 1] = '\0'; // 去掉 '\n'
- for(int i = 0; buf[i] != '\0'; ++i)
- {
- ++char_tab[buf[i]];
- }
- int char_count = 0;
- for(int i = 0; i < CHAR_MAX; ++i)
- {
- if(char_tab[i] != 0)
- ++char_count;
- }
- printf("你总共输入了%d个字符,其中不同的字符个数有%d个\n", strlen(buf), char_count);
- printf("它们是: ");
- for(int i = 0; i < CHAR_MAX; ++i)
- {
- if(char_tab[i] != 0)
- fputc(i, stdout);
- }
- printf("\n");
- int max_count = char_tab[0];
- char ch = 0;
- for(int i = 0; i < CHAR_MAX; ++i)
- {
- if(max_count < char_tab[i])
- {
- max_count = char_tab[i];
- ch = i;
- }
- }
- printf("出现次数最多的字符是'%c',它总共出现了%d次\n", ch, max_count);
- return 0;
- }
复制代码 |
|