给定一系列整数,对每个整数的每一位数字统计0~9各个数字的出现次数,求出现次数最多的数字。 求指教

2024年11月28日 19:35
有3个网友回答
网友(1):

 

#include

void main()

{

 int i,n,temp,data[10]={0},max;

    scanf("%d",&n);

 for(i=0;i

 {

         scanf("%d",&temp);

   while(temp)

   {

    data[temp%10]++;

    temp/=10;

   }

 

 } max=data[0];

 for(i=1;i<10;i++)

     if(max

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

  if(max==data[i])

  printf("出现次数最多%d次的数字是%d\n",data[i],i);

 

}

网友(2):

#include "stdio.h"
int main()
{
int n,m,a[10],b[10]={0},i,j,max,count;
scanf("%d",&n);
for(i=0;i{scanf("%d",&m);
while(m!=0)
{
a[m%10]=m%10;
b[a[m%10]]++;
m=m/10;
}
max=b[0];
for(j=0;j<10;j++)
if(max{
max=b[j];
count=j;
}
}
printf("出现最多%d次的数字是%d\n",max,a[count]);
return 0;
}
小问题很多,输入得是一些列整数,结果按照你的代码其实就是只统计了其中一个数中出现最多次数的数字,还有在你扫b[j],数组时找到了最大次数的同时你也得记录下它所在数组位置的下标才可以啊

网友(3):

直接把每个位的数通过除以10的方次,然后对10求模,判断一下不就行了呀