解题思路:一看就是常规题,按出现次数统计 类似于统计众数,如: 数组 a[ ] = {1 ,2, 2, 2, 3, 3, 4, 5} ,做运算b[a[i] ]++,则b[a[i] ]  <==>b[1] = 1;b[2] = 3;b[3] = 2;b[4] = 1;b[5] = 1;这个题,无非就是变成了二维数组,众数变成了字符嘛;


注意事项:

参考代码:

#include<stdio.h>

int main()

{

    int i,n,j,b[100][200],max;

    char a[100][1000],c;

    scanf("%d",&n);

    

    for(i = 0;i < n;++i)//输入

        scanf("%s",a[i]);


    for(i = 0;i < n;++i)//控制行数

    {

        j = 0;//每次访问从0开始

        while(a[i][j])//访问到每一行的末尾

        {

            b[i][a[i][j]]++;//用b[i]行的某些位置 分别统计数组a中第i行的所有字符及其出现次数

            ++j;

        }

    }

    for(i = 0;i < n;++i)

    {

        max = 0;//每次都设置为零

        for(j = 0;j < 200;++j)

        {

            if(b[i][j] > max)

            {

                max = b[i][j];//标记最大

                c = j;

            }

        }

        printf("%c %d\n",c,max);

    }

    return 0;

}


点赞(0)
 

0.0分

4 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 1 条评论

Hainui 3年前 回复TA
程序看懂了,我有个疑问,b是一个二维数组如果不进行初始化的话能直接拿过来用吗?