用c语言编写:输入一些数,找出其中出现次数最多的数字,并输出它在哪个位置
时间: 2023-03-03 21:39:10 浏览: 123
C语言程序设计-给定n个数据, 求最大值出现的位置(如果最大值出现多次,求出第一次出现的位置即可);.c
5星 · 资源好评率100%
以下是用 C 语言编写的程序,可以实现输入一些数字,找出其中出现次数最多的数字,并输出它在哪个位置:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入数字的个数:");
scanf("%d", &n);
int nums[n], freq[n], max_freq = 0, max_num = 0;
printf("请输入这些数字:\n");
for (int i = 0; i < n; i++) {
scanf("%d", &nums[i]);
freq[i] = 0;
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (nums[i] == nums[j]) {
freq[i]++;
}
}
if (freq[i] > max_freq) {
max_freq = freq[i];
max_num = nums[i];
}
}
printf("出现次数最多的数字是 %d,它出现了 %d 次\n", max_num, max_freq);
printf("它在以下位置出现:");
for (int i = 0; i < n; i++) {
if (nums[i] == max_num) {
printf("%d ", i+1);
}
}
printf("\n");
return 0;
}
```
程序的基本思路是,先让用户输入数字的个数和这些数字,然后通过两层循环,依次统计每个数字出现的次数,找出出现次数最多的数字及其出现次数,最后输出该数字在哪些位置出现。其中,数组 `freq` 记录每个数字出现的次数,变量 `max_freq` 和 `max_num` 分别记录出现次数最多的数字和它出现的次数。由于数组下标从 0 开始,输出位置时需要将下标加 1。
阅读全文