1、编写程序,输入正整数n(1~10000),再输入n个正整数,找出这n个数中出现次数最多的数字,统计并输出其出现的次数
例如 1234 ,2345, 3456 中出现次数最多的数字是 3和 4 ,出现次数均为3次
# include<stdio.h>
int main(){
int n; // 可输入元素的个数
int i;
int temp; // 输入要统计的数字的整数
int arr[10]={0}; //用于存放0-9每个数字出现的次数 ,初始都为0个
int max = 0; // 出现最多的次数
printf("输入统计整数的个数:");
scanf("%d",&n);
printf("请输入%d个整数:",n);
// 输入的整数不能超过n
for(i=0;i<n;i++){
scanf("%d",&temp);
// 统计每个数字出现的次数
while(temp!=0){
arr[temp%10]++;
temp = temp/10;
}
}
// 遍历数组 找出数组中存放的最大值,就表示出现次数最多
for(i=0;i<10;i++){
if(max < arr[i]){
max = arr[i];
}
}
// 遍历数组,找出出现次数最多的数字
// 数组对应的索引就表示出现的数字
for(i = 0;i<10;i++){
if(arr[i] == max){
printf("出现最多的数字是:%d",i);
}
}
printf("出现次数:%d次",max);
return 0;
}
运行结果:
输入统计整数的个数:3
请输入3个整数:1234 2345 3456
出现最多的数字是:3出现最多的数字是:4出现次数:3次
--------------------------------
Process exited after 9.115 seconds with return value 0
请按任意键继续. . .
2、统计0-9每个数字出现的次数
#include <stdio.h>
int main()
{
// 计数器
// 0-9每个数字出现的个数
int x;
scanf("%d",&x);
int count[10];
int i;
// 数组初始化
for(i=0;i<10;i++){
count[i] = 0;
}
while(x!=-1){
if(x>=0&&x<=9){
count[x]++;
}
scanf("%d",&x);
}
// 数组遍历
for(i=0;i<10;i++){
printf("%d出现%d次\n",i,count[i]);
}
return 0;
}