找出一个数组中出现次数最多的数并输出出现次数,C语言编写程序
时间: 2023-05-29 15:05:57 浏览: 96
```c
#include <stdio.h>
#define SIZE 10
int main()
{
int arr[SIZE] = {1, 2, 3, 4, 5, 2, 3, 2, 2, 6};
int count[SIZE] = {0}, max_count = 0, max_num = 0;
for(int i = 0; i < SIZE; i++)
{
count[arr[i]]++;
if(count[arr[i]] > max_count)
{
max_count = count[arr[i]];
max_num = arr[i];
}
}
printf("出现次数最多的数是%d,出现次数为%d\n", max_num, max_count);
return 0;
}
```
输出结果:
```
出现次数最多的数是2,出现次数为4
```
相关问题
用c语言编写:输入一些数,找出其中出现次数最多的数字,并输出它在哪个位置
以下是用 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。
C语言编写一个程序,输入一个字符串,输出该字符串中出现次数最多的字符及其出现次数
下面是一份 C 语言程序,可以实现输入一个字符串,输出该字符串中出现次数最多的字符及其出现次数:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int count[256] = {0};
int max_count = 0;
char max_char;
printf("请输入一个字符串:");
gets(str);
// 统计每个字符出现的次数
for (int i = 0; i < strlen(str); i++) {
count[str[i]]++;
}
// 找出出现次数最多的字符
for (int i = 0; i < 256; i++) {
if (count[i] > max_count) {
max_count = count[i];
max_char = i;
}
}
printf("出现次数最多的字符是 %c,出现了 %d 次。\n", max_char, max_count);
return 0;
}
```
这个程序首先定义了一个字符串 `str` 和一个大小为 256 的整型数组 `count`,并且初始化数组中所有元素都为 0。然后程序通过调用 `gets()` 函数来读取用户输入的字符串,并且使用一个循环来统计每个字符在字符串中出现的次数。
接着程序再次使用一个循环来遍历整个 `count` 数组,找出其中出现次数最多的字符,并将其存储在变量 `max_char` 中。最后程序输出 `max_char` 和 `max_count` 的值,即可完成整个功能。