C语言有n个十进制数,找出这n个十进制数中数字k最多出现多少次
时间: 2024-03-23 08:36:15 浏览: 60
好的,针对您的问题,可以采用以下算法进行求解:
1. 遍历这n个十进制数,将每个数字按位拆分出来,统计数字k出现的次数。
2. 统计完所有数字k出现的次数后,取出最大值即为数字k在这n个十进制数中出现的最多次数。
下面是一个简单的C语言实现,代码如下:
```c
#include <stdio.h>
int count_k(int num, int k)
{
int count = 0;
while (num > 0) {
if (num % 10 == k) {
count++;
}
num /= 10;
}
return count;
}
int max_k_count(int* arr, int n, int k)
{
int max_count = 0;
for (int i = 0; i < n; i++) {
int count = count_k(arr[i], k);
if (count > max_count) {
max_count = count;
}
}
return max_count;
}
int main()
{
int arr[] = {123, 456, 789, 102, 345};
int n = sizeof(arr) / sizeof(arr[0]);
int k = 2;
int max_k = max_k_count(arr, n, k);
printf("数字%d在数组中出现的最多次数为%d\n", k, max_k);
return 0;
}
```
这段代码的输出结果是:
> 数字2在数组中出现的最多次数为2
希望这个算法可以解决您的问题。
阅读全文