Cyzyt 发表于 2019-11-13 17:18:59

查表法

//要求 A:统计用户输入的所有字符个数;
//要求 B:统计不同的字符个数,并打印出来;
//要求 C:找出出现次数最多的字符。

#include <stdio.h>
#include <string.h>
#define MAX 128

int main()
{
        int i,j=0,max=0,ch;
        int input=0;
        int ascii={0};//??????
        char count="";//??????
       
        printf ("请输入文本:");
       
        while ((ch=getchar())!='\n'){
                ascii++;//该字符出现次数加一,ch不变          []中为字符的ascii码 ,相应存储的是它的出现次数
                input++;
        }
       
        for (i=0;i<MAX;i++){
                if (ascii){
                        count=i;//将[]中ascii码转换为字符
                        if (ascii>ascii){//比较出现次数
                                max=i;
                        }
                }
        }
       
        printf ("你总共输入了%d个字符,其中不一样的字符有%d个\n",input,strlen(count));
        printf ("它们是%s\n",count);
        printf ("出现次数最多的字符是\'%c\',他总共出现了%d次",max,ascii);
       
        return 0;
}


上述两个问号的数组为什么要={0}和=""
请大神解释一下,不尽感谢{:10_298:}

ba21 发表于 2019-11-13 17:21:45

都是初始化为空
int 当然用0
char 就用 ""

lovedai 发表于 2019-11-14 21:28:50

数组初始化为0的话用{0}是第一位赋值为零,剩下的系统自动赋值为零,字符数组也差不多
页: [1]
查看完整版本: 查表法