|
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')
- {
- <div class="blockcode"><blockquote>ascii[ch]++; // 字符对应的ASCII码加1
复制代码
input_num++;
}
for (i = 0; i < NUM; i++)
{
if (ascii[i])
{
count[j++] = i;
if (ascii > 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;
}
- if (ascii[i])
- {
- count[j++] = i;
- if (ascii[i] > ascii[max])
- {
- max = i;
复制代码 这里的
表达的是什么啊
然后count后面那个 i 不是从零开始的数字吗为何输出来确是英文
这个是怎么表述重复英文的意思啊
- if (ascii[i] > ascii[max])
- {
- max = i;
复制代码- ascii[ch]++; // 字符对应的ASCII码加1 这里加一的意义是什么 ??
复制代码
[/i]
这里得说一下,char和int是可以互换的,char转换成int变成对应的ASCII码(要是连ASCII都不知道我就无能为力了),int转换成char则变成对应的字符。
char的范围是0~(128-1),这里#define NUM 128就是这个意思。
因此,char可以作为数组下标。
还有,这里:
printf("你总共输入了%d个字符,其中不同的字符个数有%d个。\n", input_num, strlen(count));
printf("它们是: %s\n", count);
printf("出现次数最多的字符是\' %c\',它总共出现了%d次。\n", max, ascii[max]);
如果这里用的是%c或%s,printf会自动帮你转换为字符或字符串。
- #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]++; // 字符对应的ASCII码加1 表示ch这个字符出现次数+1
- input_num++;
- }
- for (i = 0; i < NUM; i++) {
- if (ascii[i]) { // ascii[i]表示字符i出现的次数,这段代码表示如果字符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;
- }
复制代码
|
最佳答案
查看完整内容
这里得说一下,char和int是可以互换的,char转换成int变成对应的ASCII码(要是连ASCII都不知道我就无能为力了),int转换成char则变成对应的字符。
char的范围是0~(128-1),这里#define NUM 128就是这个意思。
因此,char可以作为数组下标。
还有,这里:
printf("你总共输入了%d个字符,其中不同的字符个数有%d个。\n", input_num, strlen(count));
printf("它们是:%s\n", count);
printf("出现次数最多的字符是\'%c\', ...
|