当前位置: 首页 > news >正文

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

作者 徐镜春

单位 浙江大学

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

输入格式:

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

输出格式:

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

输入样例:

3
1234 2345 3456

输出样例:

3: 3 4

解题思路:定义两个数组a,b,a数组用来接收输入数字,然后进行分割数字,b数组先全置0,然后将a数组中分割出来的数字分别进行累加。根据题目可知,最多出现的数字可能有多个,所以还要先遍历b数组找最大值max,最后再通过max重新遍历b数组进行输出。

代码实现:

#include<stdio.h>int main() {int i, N, a[1000], b[10] = { 0 }, num, max;scanf("%d", &N);for (i = 0; i < N; i++) {scanf("%d", &a[i]);}for (i = 0; i < N; i++) {if (a[i] == 0) {b[0]++;}while (a[i]) {num = a[i] % 10;b[num]++;a[i] /= 10;}}max = b[0];for (i = 1; i < 10; i++) {if (max < b[i]) max = b[i];}printf("%d:", max);for (i = 0; i < 10; i++) {if (max == b[i])printf(" %d", i);}return 0;
}

测试结果:

 

http://www.lryc.cn/news/433494.html

相关文章:

  • 探索国产编程工具:如何实现工作效率翻倍
  • 秒懂:进程相关的操作
  • PDF 软件如何帮助您编辑、转换和保护文件。
  • 蓝桥杯嵌入式国三备赛经验分享
  • AI编程工具合集
  • [网络编程]通过java用TCP实现网络编程
  • Python(TensorFlow)和Java及C++受激发射损耗导图
  • IEEE投稿模板翻译
  • log4j 1.x 日志输出线程以唯一ID的形式配置
  • 宏观学习笔记:GDP分析(二)
  • 两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容
  • C高级编程 第十六天(树 二叉树)
  • OpenCV结构分析与形状描述符(11)椭圆拟合函数fitEllipse()的使用
  • 904.水果成篮
  • 【网络安全】漏洞挖掘之 2FA 恢复代码安全措施不当
  • 指令微调与参数微调的代码实践与分析
  • Android14音频进阶之高通Elite架构指定通道播放(八十四)
  • 常见的正则化方法以及L1,L2正则化的简单描述
  • 深入理解 Milvus:新一代向量数据库的基础技术与实战指南
  • Maven教程——从入门到入坑
  • 研究生深度学习入门的十天学习计划------第九天
  • perl的学习记录——仿真regression
  • 【Go】go连接clickhouse使用TCP协议
  • Emlog-Pro访问网站时需要密码验证插件
  • Apache ShardingSphere数据分片弹性伸缩加解密中间件
  • Django+Vue家居全屋定制系统的设计与实现
  • 如何把自动获取的ip地址固定
  • Java应用的数据库死锁问题分析与解决
  • ImportError: cannot import name ‘DglNodePropPredDataset‘ from ‘ogb.nodepropp
  • 基于SSM(Spring、SpringMVC、MyBatis)框架的高校信息管理系统