PTA第五章7-13 求一批整数中出现最多的个位数字

简介: 给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。

给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。


输入格式:

输入在第1行中给出正整数N(≤1000),在第二行中给出N个不超过整型范围的非负整数,数字间以空格分隔。


输出格式:

在一行中按格式“M: n1 n2 ...”输出,其中M是最大次数,n1、n2、……为出现次数最多的个位数字,按从小到大的顺序排列。数字间以空格分隔,但末尾不得有多余空格。

#include 
#define D 30
int main()
{
    int flag = 0;
    int N;
    scanf("%d", &N);
    int a;
    int b[D] = { 0 };
    for (int i = 0; i < N; i++)
    {
        scanf("%d", &a);        
        while (a > 0||flag==0)//避免输入0不能进入的情况
        {            
            b[a%10]++;
            a /= 10;
            flag = 1;
        }
        flag = 0;
    }
    int max = 0;
    for (int i = 0; i < 10; i++)
    {
        if (b[i] > max)
        {
            max = b[i];
        }
    }
    printf("%d:", max);
    for (int i = 0; i < 10; i++)
    {
        if (max == b[i])
        {
            printf(" %d", i);
        }
    }    
    return 0;
}
目录
打赏
0
0
0
0
6
分享
相关文章
【基础算法】关于高精度计算的问题【很高位数数据的加减乘除(相关代码用C++实现)】
【基础算法】关于高精度计算的问题【很高位数数据的加减乘除(相关代码用C++实现)】
算法小白的心得笔记:比较小数点后五位,而不会受到浮点数精度问题的影响。
std::cerr << "\n __" << inum << "__ 计算错误 " << ratio << " 应该是 " << beta3[inum - 1] << std::endl; return 1;
55 0
位运算小妙招-求二进制序列中0的个数
位运算小妙招-求二进制序列中0的个数
987 0
位运算小妙招-求二进制序列中0的个数
位运算小妙招-求二进制序列中1的个数
位运算小妙招-求二进制序列中1的个数
301 0
位运算小妙招-求二进制序列中1的个数
pta 浙大版《C语言程序设计(第3版)》题目集 习题6-6 使用函数输出一个整数的逆序数 (20分)
pta 浙大版《C语言程序设计(第3版)》题目集 习题6-6 使用函数输出一个整数的逆序数 (20分)
求连续整数的阶层的和,时间复杂程度为O(n)的解法
求连续整数的阶层的和,时间复杂程度为O(n)的解法
二十个一乘以二十个二等于多少?C语言经典算法设计之大数乘法
二十个一乘以二十个二等于多少?C语言经典算法设计之大数乘法
1705 0
OJ题:奇偶归一猜想——求归一过程中的最大值
题目: 题目内容: 奇偶归一猜想——对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1。 如n = 11,得序列:11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1。
1659 0
学C的第十三天【应用多文件的形式实现 三子棋 程序(重点);练习:1. 打印9*9乘法口诀表、2. 求10个整数中的最大值、3. 分数加减交叉计算、4. 数一下 1到 100 的整数中出现了多少个9】
9.数组的应用实例1:三子棋(综合以前学习的知识) 三子棋的实现:(重点都在注释中) 1. 游戏不退出,继续玩下一把(循环) 2. 应用多文件的形式写代码