C语言采集一个值50次取次数最多的那个数,算法
时间: 2024-04-15 11:27:35 浏览: 140
STM32单片机FPGA毕设电路原理论文报告基于C8051F040单片机CAN控制器的设计
你可以使用一个数组来存储每个值的出现次数,并找出出现次数最多的数。下面是一个示例的算法:
1. 创建一个数组counts,大小为100(假设值的范围在0到99之间)。将数组所有元素初始化为0。
2. 使用一个循环,重复50次以下步骤:
- 从用户输入获取一个值num。
- 将counts[num]的值加1。
3. 创建两个变量maxCount和maxNum,初始值都为0。
4. 使用一个循环遍历counts数组,找到出现次数最多的数:
- 如果counts[i]大于maxCount,则将maxCount更新为counts[i],将maxNum更新为i。
5. 输出maxNum作为结果。
以下是一个使用C语言编写的示例代码:
```c
#include <stdio.h>
int main() {
int counts[100] = {0};
int maxCount = 0;
int maxNum = 0;
for (int i = 0; i < 50; i++) {
int num;
printf("请输入一个值:");
scanf("%d", &num);
counts[num]++;
}
for (int i = 0; i < 100; i++) {
if (counts[i] > maxCount) {
maxCount = counts[i];
maxNum = i;
}
}
printf("出现次数最多的数是:%d\n", maxNum);
return 0;
}
```
请注意,上述代码假设值的范围在0到99之间,可以根据实际情况进行调整。另外,代码中没有对输入值进行范围检查,请确保输入的值在合理范围内,以避免数组越界错误。
阅读全文