用C语言怎么写对输入的n个整数序列进行统计,输出出现次数最多的整数极其出现次数
时间: 2023-06-05 12:04:53 浏览: 125
你好,根据您的要求,以下是一个用C语言实现统计出现次数最多的整数的代码:
```
#include <stdio.h>
int main()
{
int n, num[100], count[100] = {0}, maxCount = 0, maxNum;
printf("请输入整数序列的长度(不超过100):");
scanf("%d", &n);
printf("请输入整数序列:");
for(int i=0; i<n; i++)
{
scanf("%d", &num[i]);
for(int j=0; j<=i; j++)
{
if(num[i] == num[j])
{
count[j]++;
break;
}
}
}
for(int i=0; i<n; i++)
{
if(count[i] > maxCount)
{
maxCount = count[i];
maxNum = num[i];
}
}
printf("出现最多的整数是 %d,出现次数为 %d\n", maxNum, maxCount);
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;
}
```
c语言本题要求统计一个整型序列中出现次数最多的整数及其出现次数。 输入格式: 输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。 输出格式: 在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。
```c
#include <stdio.h>
#define MAX_N 1000
int main()
{
int n, i, j, max_num, max_count = 0;
int nums[MAX_N], count[MAX_N] = {0};
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &nums[i]);
}
for (i = 0; i < n; i++) {
count[nums[i]]++;
}
for (i = 0; i < n; i++) {
if (count[nums[i]] > max_count) {
max_count = count[nums[i]];
max_num = nums[i];
}
}
printf("%d %d\n", max_num, max_count);
return 0;
}
```
--相关问题--:
1. 如何统计一个字符序列中出现次数最多的字符及其出现次
阅读全文