wordpress博客可以下载官方的模板,淄博网站制作升级优化,电子商务网站建设与维护 答案,杭州建设工程交易平台作者 徐镜春
单位 浙江大学
给定一批整数#xff0c;分析每个整数的每一位数字#xff0c;求出现次数最多的个位数字。例如给定3个整数1234、2345、3456#xff0c;其中出现最多次数的数字是3和4#xff0c;均出现了3次。
输入格式#xff1a;
输入在第1行中给出正整数…作者 徐镜春
单位 浙江大学
给定一批整数分析每个整数的每一位数字求出现次数最多的个位数字。例如给定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,ba数组用来接收输入数字然后进行分割数字b数组先全置0然后将a数组中分割出来的数字分别进行累加。根据题目可知最多出现的数字可能有多个所以还要先遍历b数组找最大值max最后再通过max重新遍历b数组进行输出。
代码实现
#includestdio.hint 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;
}
测试结果