|
5鱼币
#include <stdio.h>
#include <string.h>
#define NUM 128
int main()
{
int ch, i, j = 0, max = 0;
int input_num = 0;
int ascii[NUM] = {0};
char count[NUM] = "";
printf("请输入英文文本:");
while ((ch = getchar()) != '\n')
{
ascii[ch]++; // 例如输入a,是不是得到97+1
input_num++;//总数 这个是知道的
}
for (i = 0; i < NUM; i++)//下面开始完全不知道什么原理
{
if (ascii[i])
{
count[j++] = i;
if (ascii[i] > ascii[max])
{
max = i;
}
}
}
printf("你总共输入了%d个字符,其中不同的字符个数有%d个。\n", input_num, strlen(count));
printf("它们是:%s\n", count);
printf("出现次数最多的字符是\'%c\',它总共出现了%d次。\n", max, ascii[max]);
return 0;
}
- #include <stdio.h>
- #include <string.h>
- #define NUM 128
- int main()
- {
- int ch, i, j = 0, max = 0;
- int input_num = 0;
- int ascii[NUM] = {0};
- char count[NUM] = "";
- printf("请输入英文文本:");
- while ((ch = getchar()) != '\n')
- {
- ascii[ch]++; // 例如输入a,是不是得到97+1
- input_num++;//总数 这个是知道的
- }
- for (i = 0; i < NUM; i++) // 遍历ascii数组用的
- {
- if (ascii[i]) // 当ascii[i]不等于0时为true,说明该ascii码对应的字符出现过
- {
- count[j++] = i; // 记录出现过的字符,每有一种字符j+1; j到最后是字符的种类
- if (ascii[i] > ascii[max]) // 如果当前出现的字符的个数比字符个数最大的多则将最大max更新为i max一直更新为最大字符对应的ascii吗
- {
- max = i;
- }
- }
- }
- printf("你总共输入了%d个字符,其中不同的字符个数有%d个。\n", input_num, strlen(count));
- printf("它们是:%s\n", count);
- printf("出现次数最多的字符是\'%c\',它总共出现了%d次。\n", max, ascii[max]);
- return 0;
- }
复制代码
|
|