欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

求一批整数中出现最多的个位数字

程序员文章站 2022-06-07 16:54:00
...
# include<stdio.h>
int main(int argc, char *argv[])
{
    int num[1000];
    //输入正整数N
    int n;
    scanf("%d",&n);
    //输入N个正整数存入数组Num
    int i;
    for(i=0;i<n;i++){
        scanf("%d",&num[i]);
    }
    int count[10]={0};
    //0-9计数
    int a,temp,mask ;
    for(i=0;i<n;i++){
        temp = num[i];
        mask = 1;
        while(temp > 9){
            temp /= 10;
            mask *= 10;
        }
        while(mask>0){
            a = num[i] / mask;
            count[a]++;
            num[i] %= mask;
        mask /= 10;
        }
    }
    int max[10],nmax=0;
    int numOfMax=0;
    //遍历count[],找出最大值,并且存入max[]
    max[0] = -1;
    for(i=0;i<10;i++){
        if(count[i] > numOfMax){
            nmax = 0;
            numOfMax = count[i];
            max[nmax] = i;
        }
        else if(count[i] == numOfMax){
            nmax++;
            max[nmax] = i;
        }
    }
    //输出
    printf("%d:",numOfMax);
    for(i=0;i<=nmax;i++){
        printf(" %d",max[i]);
    }
    printf("\n");
    return 0;
}

求一批整数中出现最多的个位数字