C语言求一批整数中出现最多的个位数
时间: 2024-12-12 09:30:03 浏览: 86
在C语言中,为了找出一批整数中最常出现的个位数,你可以采用以下步骤:
1. 定义一个数组或动态内存存储输入的整数,并初始化一个计数器数组用于记录每个个位数字出现的次数,大小为10(因为整数的个位数范围是0到9)。
2. 遍历整个整数数组,对于每一个整数,将其个位数提取出来,然后更新对应计数器数组的值。
3. 在遍历过程中,维护一个变量(如`max_count`和`mode_digit`),分别记录当前出现次数最多的个位数及其对应的次数。
4. 遍历结束后,遍历计数器数组,找到最大值对应的个位数即为出现最多的个位数。
下面是一个简单的示例代码(假设数组名为`numbers`,长度为`n`):
```c
#include <stdio.h>
#include <stdbool.h>
int count[10] = {0}; // 初始化计数器数组
void findMode(int numbers[], int n) {
for (int i = 0; i < n; i++) {
int last_digit = numbers[i] % 10; // 提取个位数
count[last_digit]++;
if (count[last_digit] > max_count) { // 如果新个位数更常见
max_count = count[last_digit]; // 更新最大计数
mode_digit = last_digit; // 更新模式个位数
}
}
}
int main() {
int numbers[] = {123, 456, 789, 222, 333, 444};
int n = sizeof(numbers) / sizeof(numbers[0]);
findMode(numbers, n);
printf("出现最多的个位数是:%d,出现了%d次。\n", mode_digit, max_count);
return 0;
}
```
阅读全文
相关推荐


















