用c语言编写找众数(出现次数最多的数)(数字范围是[0, 100])
时间: 2023-11-22 20:53:45 浏览: 187
以下是使用 C 语言编写的找众数程序,数字范围是 [0,100]:
```c
#include <stdio.h>
int main()
{
int a[101] = {0}; // 初始化数组,用于统计每个数字出现的次数
int n, max = 0, mode; // n 为输入的数字数量,max 为数字出现的最大次数,mode 为众数
printf("请输入数字个数:");
scanf("%d", &n);
printf("请输入数字:\n");
for (int i = 0; i < n; i++) {
int num;
scanf("%d", &num);
a[num]++; // 统计数字出现的次数
if (a[num] > max) { // 更新最大出现次数和众数
max = a[num];
mode = num;
}
}
printf("众数是:%d,出现次数为:%d\n", mode, max);
return 0;
}
```
该程序首先将数字出现次数统计在一个长度为 101 的数组中,然后遍历输入的数字,更新数组中每个数字出现的次数。最后,找到出现次数最多的数字,输出其出现次数和众数即可。
相关问题
用c写找众数(出现次数最多的数),数字范围是[0,100],(众数如果有两个,输出最小的)
以下是使用C语言编写的找众数的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_NUM 101 // 数字范围[0,100]
int main() {
int nums[MAX_NUM] = {0}; // 初始化数组,统计出现次数
int mode = 0; // 众数
int max_count = 0; // 最大出现次数
// 读入数字
int num;
while (scanf("%d", &num) == 1) {
nums[num]++;
}
// 找出众数
for (int i = 0; i < MAX_NUM; i++) {
if (nums[i] > max_count) {
mode = i;
max_count = nums[i];
}
}
printf("%d\n", mode);
return 0;
}
```
该程序首先初始化一个长度为101的数组`nums`来统计每个数字出现的次数,然后读入数字并更新数组。最后,程序遍历一遍数组,找到出现次数最多的数字,即为众数。如果有两个众数,输出最小的那个。
用c语言编程 计算平均数、中位数和众数 在调查数据分析(Survey data analysis)中经常需要计算平均数、中位数和众数。用函数编程计算40个输入数据(是取值1—10之间的任意整数)的平均数(Mean)、中位数(Median)和众数(Mode)。中位数指的是排列在数组中间的数。众数是数组中出现次数最多的那个数(不考虑两个或两个以上的输入数据出现次数相同的情况)。 提示:计算中位数时,首先要调用排序函数对数组按升序进行排序,然后取出排序后数组中间位置的元素answer[n/2] ,就得到了中位数。如果数组元素的个数是偶数,那么中位数就等于数组中间那两个元素的算术平均值。众数就是40个输入数据中出现次数最多的那个数。计算众数时,首先要统计不同取值的输入数据出现的次数,然后找出出现次数最多的那个数据,这个数据就是众数(这里没有考虑两个或者两个以上的输入数据出现次数相同的情况)。 程序运行结果示例: Input the feedbacks of 40 students: 10 9 10 8 7 6 5 10 9 8↙ 8 9 7 6 10 9 8 8 7 7↙ 6 6 8 8 9 9 10 8 7 7↙ 9 8 7 9 7 6 5 9 8 7↙ Mean value=7 Median value=8 Mode value=8 输入格式: "%d" 输出格式: 输入数据的提示信息:"Input the feedbacks of 40 students:\n" 平均数输出:"Mean value=%d\n" 中位数输出:"Median value=%d\n" 众数输出: "Mode value=%d\n"
以下是用C语言编写的程序,可以计算40个输入数据的平均数、中位数和众数:
```c
#include <stdio.h>
void sort(int arr[], int n);
int mean(int arr[], int n);
int median(int arr[], int n);
int mode(int arr[], int n);
int main() {
int feedbacks[40];
int i;
printf("Input the feedbacks of 40 students:\n");
for (i = 0; i < 40; i++) {
scanf("%d", &feedbacks[i]);
}
sort(feedbacks, 40);
printf("Mean value=%d\n", mean(feedbacks, 40));
printf("Median value=%d\n", median(feedbacks, 40));
printf("Mode value=%d\n", mode(feedbacks, 40));
return 0;
}
void sort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int mean(int arr[], int n) {
int i, sum = 0;
for (i = 0; i < n; i++) {
sum += arr[i];
}
return sum / n;
}
int median(int arr[], int n) {
if (n % 2 == 0) {
return (arr[n / 2] + arr[n / 2 - 1]) / 2;
} else {
return arr[n / 2];
}
}
int mode(int arr[], int n) {
int i, j, count, max_count = 0, mode = 0;
for (i = 0; i < n; i++) {
count = 0;
for (j = 0; j < n; j++) {
if (arr[j] == arr[i]) {
count++;
}
}
if (count > max_count) {
max_count = count;
mode = arr[i];
}
}
return mode;
}
```
程序运行结果示例:
```
Input the feedbacks of 40 students:
10 9 10 8 7 6 5 10 9 8
8 9 7 6 10 9 8 8 7 7
6 6 8 8 9 9 10 8 7 7
9 8 7 9 7 6 5 9 8 7
Mean value=7
Median value=8
Mode value=8
```
阅读全文