sswy 发表于 2018-6-3 12:34:56

C语飞19课谁可以用数组做出来

这道题,有人可以不用答案方式,做出来吗?可以用二维数组

人造人 发表于 2018-6-3 15:38:52

我没有用二维数组,你说的是可以用,不是必须用 ^_^

#include <stdio.h>
#include <string.h>

#define CHAR_MAX 126

int main(void)
{
        char buf;
        int char_tab = {0};

        printf("请输入英文文本: ");
        fgets(buf, 100, stdin);
        buf = '\0';                // 去掉 '\n'

        for(int i = 0; buf != '\0'; ++i)
        {
                ++char_tab];
        }

        int char_count = 0;
        for(int i = 0; i < CHAR_MAX; ++i)
        {
                if(char_tab != 0)
                        ++char_count;
        }
        printf("你总共输入了%d个字符,其中不同的字符个数有%d个\n", strlen(buf), char_count);
        printf("它们是: ");
        for(int i = 0; i < CHAR_MAX; ++i)
        {
                if(char_tab != 0)
                        fputc(i, stdout);
        }
        printf("\n");

        int max_count = char_tab;
        char ch = 0;
        for(int i = 0; i < CHAR_MAX; ++i)
        {
                if(max_count < char_tab)
                {
                        max_count = char_tab;
                        ch = i;
                }
        }
        printf("出现次数最多的字符是'%c',它总共出现了%d次\n", ch, max_count);

        return 0;
}

sswy 发表于 2018-6-3 17:27:42

人造人 发表于 2018-6-3 15:38
我没有用二维数组,你说的是可以用,不是必须用 ^_^

谢谢老师,太感谢了厉害
页: [1]
查看完整版本: C语飞19课谁可以用数组做出来