hichens


私信TA

用户名:he1559576917

访问量:7382

签 名:

he1559576917

等  级
排  名 2043
经  验 2489
参赛次数 0
文章发表 14
年  龄 0
在职情况 学生
学  校 CQUPT
专  业

  自我简介:

代码千万条,注释第一条。 注释不清楚,亲人两行泪。

解题思路:一看就是常规题,按出现次数统计 类似于统计众数,如: 数组 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分

4 人评分

  评论区

程序看懂了,我有个疑问,b是一个二维数组如果不进行初始化的话能直接拿过来用吗?
2021-03-22 23:08:32
  • «
  • 1
  • »