字符处理的问题
#include <stdio.h>#include <string.h>
#define NUM 128
int main()
{
int ch, i, j = 0, max = 0;
int input_num = 0;
int ascii = {0};
char count = "";
printf("请输入英文文本:");
while ((ch = getchar()) != '\n')
{
<div class="blockcode"><blockquote>ascii++; // 字符对应的ASCII码加1
input_num++;
}
for (i = 0; i < NUM; i++)
{
if (ascii)
{
count = i;
if (ascii > ascii)
{
max = i;
}
}
}
printf("你总共输入了%d个字符,其中不同的字符个数有%d个。\n", input_num, strlen(count));
printf("它们是:%s\n", count);
printf("出现次数最多的字符是\'%c\',它总共出现了%d次。\n", max, ascii);
return 0;
}
if (ascii)
{
count = i;
if (ascii > ascii)
{
max = i;这里的
ascii表达的是什么啊
然后count后面那个i 不是从零开始的数字吗为何输出来确是英文
这个是怎么表述重复英文的意思啊
if (ascii > ascii)
{
max = i;
ascii++; // 字符对应的ASCII码加1 这里加一的意义是什么 ??
这里得说一下,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);
如果这里用的是%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 = {0};
char count = "";
printf("请输入英文文本:");
while ((ch = getchar()) != '\n') {
ascii++; // 字符对应的ASCII码加1 表示ch这个字符出现次数+1
input_num++;
}
for (i = 0; i < NUM; i++) {
if (ascii) { // ascii表示字符i出现的次数,这段代码表示如果字符i出现在了字符串中
count = i;
if (ascii > ascii) {
max = i; // 取出现次数最大的字符
}
}
}
printf("你总共输入了%d个字符,其中不同的字符个数有%d个。\n", input_num, strlen(count));
printf("它们是:%s\n", count);
printf("出现次数最多的字符是\'%c\',它总共出现了%d次。\n", max, ascii);
return 0;
} 把代码全删除,用不代码格式发代码重发一次
页:
[1]