08-1. 求一批整数中出现最多的个位数字(20)
来源:互联网 发布:u盘数据恢复手机软件 编辑:程序博客网 时间:2024/04/20 03:02
给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。
输入格式:
输入在第1行中给出正整数N(<=1000),在第2行中给出N个不超过整型范围的正整数,数字间以空格分隔。
输出格式:
在一行中按格式“M: n1 n2 ...”输出,其中M是最大次数,n1、n2、……为出现次数最多的个位数字,按从小到大的顺序排列。数字间以空格分隔,但末尾不得有多余空格。
输入样例:
31234 2345 3456
输出样例:
3: 3 4
#include <stdio.h>int main(){ int n; //输入n个数 scanf("%d", &n); int i, a[n], b[10] = {0}; for(i = 0 ; i < n ; i++) { scanf("%d", &a[i]); //将n个数存放到a数组中 while(a[i] != 0) { b[a[i] % 10]++; //a[i]的个位数当作b数组的下标 a[i] /= 10; //去掉a[i] 的个位数 } //a[i]的 各个位数(个位,百位...)都存放在b 数组的下标 ,并且记录下它出现的个数 } //n 个数字都遍历完 int t = 0; for(i = 0 ; i < 10 ; i++) { //b[i]表示数字 i 出现的次数 if(t < b[i]) { t = b[i]; //找到b[i]的最大值 } } printf("%d: ", t); //按格式输出前面部分 int c[10] = {-1}, cnt = 0; for(i = 0 ; i < 10 ; i++) { //遍历b[i]数组 if(b[i] == t) { //找到b[i]的所有最大值 (出现最多次数) c[i] = i; //并将最大值的下标存放到c 数组中(下标对应相等 ) cnt++; //并记录有多少最大值 } } int cnt2 = 0; for(i = 0; i < 10; i++) { //遍历c 数组 if(c[i] == i) { //找到最大值下标 (出现最多次数的数字) printf("%d", i); //并输出 cnt2++; if(cnt2 < cnt) { printf(" "); } } } return 0;}
0 0
- 08-1. 求一批整数中出现最多的个位数字(20)
- 08-1. 求一批整数中出现最多的个位数字(20)
- 08-1. 求一批整数中出现最多的个位数字(20)
- 08-1. 求一批整数中出现最多的个位数字(20)
- 08-1. 求一批整数中出现最多的个位数字(20)
- 08-1. 求一批整数中出现最多的个位数字(20)
- 08-1. 求一批整数中出现最多的个位数字(20)
- 08-1. 求一批整数中出现最多的个位数字(20)
- 08-1. 求一批整数中出现最多的个位数字(20)
- 08-1. 求一批整数中出现最多的个位数字(20)
- 08-1. 求一批整数中出现最多的个位数字(20)
- 求一批整数中出现最多的个位数字
- 求一批整数中出现最多的个位数字
- 8-1. 求一批整数中出现最多的个位数字(20)
- PAT:8-1. 求一批整数中出现最多的个位数字(20)
- 8-1. 求一批整数中出现最多的个位数字(20)
- c语言练习 8-1. 求一批整数中出现最多的个位数字
- 数组-07. 求一批整数中出现最多的个位数字(20)
- bzoj3107: [cqoi2013]二进制a+b DP
- Hive-0.14.0与mysql配置
- [leetcode]Permutations
- uva10635(最长增长子序列)
- [android] 百度地图开发 (一).申请AK显示地图及解决显示空白网格问题
- 08-1. 求一批整数中出现最多的个位数字(20)
- 基于stm32的简单多任务切换设计
- cent os7.0安装
- 深入理解文件存储方式
- Effective STL 第5条:区间成员函数优先于与之对应的单元素成员函数
- FIRST JOB
- bzoj3106: [cqoi2013]棋盘游戏 对抗搜索
- 网易云课堂-Class One-What is the UI Design?
- UML类图新手入门级介绍