问答详情
源自:6-9 多维数组

输入一组数据 如何判断每个数出现个数

输入一组数据 如何判断每个数出现个数


提问者:慕的地0739796 2018-12-06 18:01

个回答

  • Scorp_
    2019-01-16 15:39:50

    hash表,每读入一个新数都和表中key作比较,如不存在新增一个key,value记为1,如存在value+1

  • 在赶往大神的路上
    2018-12-16 12:17:08

    目前我能力有限,可以给个建议

    1,先输入一组数存到数组中。

    2,然后判断这组数的总数是多少。

    3,可以用for,if 判断重复的数中每个数是多少。

    4,输出。

    ps:我记得计算机二级C语言有类似的题。

    ps:6-2 数组遍历中说道:

    “C语言的数组长度一经声明,长度就是固定,无法改变,并且C语言并不提供计算数组长度的方法。

    由于C语言是没有检查数组长度改变或者数组越界的这个机制,可能会在编辑器中编译并通过,但是结果就不能肯定了,因此还是不要越界或者改变数组的长度。”

    借助sizeof()函数:

    // 所有数据的字节数除以一个数据的字节数即为数据的个数 : 
    length = sizeof(arr) / sizeof(int); 

    我看到你的问题后我也不知道该怎么解决

  • qq_追风少年_ozFGLY
    2018-12-06 20:21:31

    用for循环啊!

    比如输一组数据{1,2,2,2,3,3} 判断2和3出现的个数

    int main()
    {
     int i=2,j=3,n,q=0,w=0;
     int a[6]={1,2,2,2,3,3};
     for(n=0;n<6;n++)
     {
      if(a[n]==i)
      {
       q+=1;
      }
      if(a[n]==j)
      {
       w+=1;
      }
     }
     printf("q=%d,w=%d",q,w);
    }

    输出q,w 就代表2和3分别出现次数