输入一些数值,求出现的次数最多的数。如果有多个并列,则从大到小输出。 C语言代码实现
时间: 2024-03-07 18:46:31 浏览: 126
好的,以下是用 C 语言实现的代码,可以实现你的需求:
```c
#include <stdio.h>
#define MAX_SIZE 1000
int main() {
int n, i, j, max_count, max_num, count;
int nums[MAX_SIZE];
// 读入数列
printf("请输入数列中的数值(用空格隔开),以 -1 结束:\n");
n = 0;
while (1) {
scanf("%d", &nums[n]);
if (nums[n] == -1) {
break;
}
n++;
}
// 统计出现次数最多的数
max_count = 0;
for (i = 0; i < n; i++) {
count = 0;
for (j = 0; j < n; j++) {
if (nums[j] == nums[i]) {
count++;
}
}
if (count > max_count) {
max_count = count;
max_num = nums[i];
} else if (count == max_count && nums[i] > max_num) {
max_num = nums[i];
}
}
// 输出结果
printf("出现次数最多的数是:%d,出现次数为:%d\n", max_num, max_count);
return 0;
}
```
这个代码会先读入一个数列,然后统计出现次数最多的数,并输出结果。请注意,这个代码中定义了一个 `MAX_SIZE` 的常量,用于限制输入的数列长度,你可以根据需要修改这个值。
阅读全文