C语言统计数字出现次数

题干:给定一系列正整数,对每个正整数的每一位数字统计0~9各个数字的出现次数,求出现次数最多的数字。输入:是整数n(1<=n<=100),表示有n个整数;第二行是n个整数值。

#include<stdio.h>
int main()
{
  int i,j,p,m,n,k,max,a[100],t=10;
  int b[10]={0};
  int c[10]={0,1,2,3,4,5,6,7,8,9};
  scanf("%d",&n);
  for(i=0;i<n;i++)
  {
    scanf("%d",&a[i]);
  }
  for(i=0;i<n;i++)
  {
    for(j=0;a[i]/(t/10);j++)
  {
    m=(a[i]%t)/(t/10);
    t=t*10;
    for(p=0;p<10;p++)
    {
      if(m==c[p])
        b[p]++;
    }
    }
    t=10;
  }
  max=b[0];
  for(i=0;i<10;i++)
  {
    if(b[i]>max)
    {
      max=b[i];
      k=i;
    }
  }
  printf("出现次数最多%d次的数字是 %d",max,c[k]);
  for(i=k+1;i<10;i++)
  {
    if(b[i]==max)
      printf(" %d",c[i]);
  }
  return 0;
}

欢迎批评指正~

    原文作者:橙南花已开
    原文地址: https://blog.csdn.net/weixin_51560545/article/details/121189383
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞