用c语言编写一个函数,统计由数字字符组成的字符串中,各数字字符出现次数的最大值。在主函数中定义并初始化字符串,调用函数,输出结果。要求自定义函数使用指针作为形参。例如,字符串为“110”,输出结果为2
时间: 2024-02-25 19:59:13 浏览: 73
C语言、C++_字符串处理函数集合(更新)
好的,我来为您解答这个问题。
以下是用 C 语言编写的代码实现:
```c
#include <stdio.h>
#include <string.h>
void count_max(char *str, int *max_count) {
int i;
int count[10] = {0};
for (i = 0; i < strlen(str); i++) {
if (str[i] >= '0' && str[i] <= '9') {
count[str[i] - '0']++;
}
}
*max_count = count[0];
for (i = 1; i < 10; i++) {
if (count[i] > *max_count) {
*max_count = count[i];
}
}
}
int main() {
char str[] = "110";
int max_count = 0;
count_max(str, &max_count);
printf("各数字字符出现次数的最大值为:%d\n", max_count);
return 0;
}
```
在自定义函数 `count_max` 中,我们使用了指针作为形参,将最大值 `max_count` 的地址传递给函数。在函数内部,我们使用数组 `count` 统计各数字字符出现的次数,并找出最大值,最后将结果存储在 `max_count` 所指向的地址中。
在主函数 `main` 中,我们定义并初始化了字符串 `str`,调用了自定义函数 `count_max`,并将结果输出。
希望可以帮到您!
阅读全文