C语言 用数组求一批整数中出现最多的数字

 刚学数组时,我们只能用有限的学到的内容方法解决题目,所以今天我用数组解决这道题目

题目:求一批整数中出现最多的数字。输入一个正整数n(1<n≤1000),再输入n个整数,分析每个整数的每一位数字,求出现次数最多的数字。例如输入三个整数1234,2345,3456,其中出现次数最多的数字是3和4,均出现了3次。试着编写程序

刚学时我们通常习惯用数组储存整数

例如一个班有四十五个人
我们用数组储存四十五个人名 一号叫小红 二号叫小明 三号叫小蓝
但是这道题我们是用数组储存一个班的人数数量 而不是人名 
比如女生有三十人 男生有十五人


#include
#define MAXN 80
int main()
{
	int n,index,i,number;
	int a[MAXN]{0};
	printf("输入n:");
	scanf("%d", &n);\\这边输入正整数的数量
	printf("输入%d个整数:",n);
	for (i = 0; i < n; i++)
	{
		scanf("%d",&number);\\用循环输入n个具体的数字
		a[number]++;\\这里我们用数组记录不同数字的数量
			


	}
	index = 0;
	for (i = 0; i < (n-1); i++)\\用循环依次对比谁的数量最多
	{
		if (a[i] > a[index])
		{
			index = i;\\把数量最多的那位值赋给index,index代表整数,a[index]代表整数的数量
		}
	}
	printf("数量最多的数为:%d,次数为:%d",index,a[index]);
	return 0;
}

 

你可能感兴趣的:(c语言)