c语言写:现在给你一串数字, 请找出其中的幸运数字(出现次数最多的那个数字,若有多个数字的出现次数都是最多,则为最大的那个数字)。 输入格式: 输入一串数字(长度不超过100)。 输出格式: 输出幸运数字。 输入样例: 320243315670920 输出样例: 3
时间: 2024-09-23 22:01:45 浏览: 51
C语言实现将字符串转换为数字的方法
在C语言中,你可以通过遍历数组并使用哈希表(这里可以简单地用数组计数)来找出幸运数字。以下是解决这个问题的一种可能的算法:
```c
#include <stdio.h>
#define MAX_NUM 100
int main() {
int num[MAX_NUM], count[MAX_NUM] = {0}, max_count = 0, max_index = -1;
// 输入数字串
char input[101];
scanf("%s", input);
// 将字符串转换为整数数组
for (int i = 0, num_str = 0; input[num_str] != '\0'; ++num_str) {
if (input[num_str] >= '0' && input[num_str] <= '9') {
num[i++] = input[num_str] - '0';
} else if (i > 0) {
break;
}
}
// 计算每个数字的出现次数
for (int i = 0; i < i; ++i) {
count[num[i]]++;
if (count[num[i]] > max_count) {
max_count = count[num[i]];
max_index = num[i];
}
}
// 输出幸运数字
printf("输出幸运数字: %d\n", max_index);
return 0;
}
```
这个程序首先读取输入的数字串,然后将非数字字符忽略并将数字存储到`num`数组中。接着计算每个数字出现的次数,并更新最大计数和最大索引。最后输出最大次数对应的数字作为结果。
阅读全文