#include<stdio.h>
int main()
{
int i, j,n,count,max,target;
printf("input your limit:");
scanf_s("%d", &n);//限制数组的大小
int arr[2][100] = { 0 };
for (i = 0;i < n;i++)//从键盘获取值
{
printf("input your number:");
scanf_s("%d", &arr[0][i]);
}
for (i = 0;i < n;i++)
{
for (j = 0;j < n;j++)
{
if (arr[0][i] == arr[0][j])
arr[1][i]++;//对于每次重复出现的数字,在数组的对应数字的下面的数字加一
}
}
max = arr[1][0];
for (i = 0;i < n;i++)//找到出现次数最多的数
{
if (arr[1][i] > max)
{
max = arr[1][i];
target = arr[0][i];
}
}
printf("众数是:%d,出现了%d次", target, max);
return 0;
}
当然,这份代码还不够健壮,比如当输入的数据没有众数时,我只是提供一种思路,大家可以多思考思考,也可以加以完善。