求整数序列中出现次数最多的数:要求统计一个整型序列中出现次数最多的整数及其出现次数,C语言
时间: 2023-11-20 19:57:49 浏览: 263
以下是C语言求整数序列中出现次数最多的数的代码实现:
```c
#include <stdio.h>
#define MAX_N 1000
int main()
{
int n, i, j, max_num, max_count;
int a[MAX_N], count[MAX_N];
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
count[i] = 0;
}
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
if (a[i] == a[j]) {
count[i]++;
}
}
}
max_num = a[0];
max_count = count[0];
for (i = 1; i < n; i++) {
if (count[i] > max_count) {
max_num = a[i];
max_count = count[i];
}
}
printf("%d %d\n", max_num, max_count);
return 0;
}
```
相关问题
I. 实验7-1-9 求整数序列中出现次数最多的数 题目描述 本题要求统计一个整型序列中出现次数最多的整数及其出现次数。 输入 输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。 输出 在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。用c语言写
```c
#include <stdio.h>
int main()
{
int n, a[1001], max = 0, max_num = 0;
int count[10001] = {0}; // 统计每个数字出现的次数
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%d", &a[i]);
count[a[i]]++; // 将出现的数字的计数加1
if (count[a[i]] > max) // 如果当前数字的出现次数大于历史最大值,更新最大值和最大数字
{
max = count[a[i]];
max_num = a[i];
}
}
printf("%d %d", max_num, max);
return 0;
}
```
7-6 求整数序列中出现次数最多的数,用C语言代码实现
以下是求整数序列中出现次数最多的数的 C 语言代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, i, j, maxCount = 0, mode, *a;
printf("请输入整数序列的长度:");
scanf("%d", &n);
a = (int*)malloc(n * sizeof(int));
printf("请输入整数序列:");
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
for (i = 0; i < n; i++) {
int count = 0;
for (j = 0; j < n; j++) {
if (a[j] == a[i]) {
count++;
}
}
if (count > maxCount) {
maxCount = count;
mode = a[i];
}
}
printf("出现次数最多的数为 %d,出现次数为 %d\n", mode, maxCount);
free(a);
return 0;
}
```
该程序首先通过 `malloc` 动态分配了一个大小为 `n` 的整型数组 `a`,然后依次读入整数序列的每个元素。
接着,程序使用两重循环遍历整个数组,统计每个元素在整数序列中出现的次数,并记录出现次数最多的数的出现次数和值。
最后,程序输出出现次数最多的数的值和出现次数,并使用 `free` 释放了动态分配的数组空间。
阅读全文