用c语言编写一个函数,统计由数字字符组成的字符串中,各数字字符出现次数的最大值。在主函数中定义并初始化字符串,调用函数,输出结果。要求自定义函数使用指针作为形参。例如,字符串为“110”,输出结果为2
时间: 2024-02-25 09:58:11 浏览: 75
C语言、C++_字符串处理函数集合(更新)
好的,以下是用 C 语言编写的函数代码:
```c
#include <stdio.h>
#include <string.h>
void max_count(char *str, int *max) {
int count[10] = {0}; // 数字字符出现次数数组,初始化为0
int i, len, max_count = 0;
len = strlen(str);
for (i = 0; i < len; i++) {
if (str[i] >= '0' && str[i] <= '9') {
count[str[i] - '0']++;
}
}
for (i = 0; i < 10; i++) {
if (count[i] > max_count) {
max_count = count[i];
}
}
*max = max_count;
}
int main() {
char str[] = "110";
int max = 0;
max_count(str, &max);
printf("最大出现次数为:%d\n", max);
return 0;
}
```
在这个程序中,`max_count` 函数接受一个指向字符串的指针和一个指向整数的指针作为参数。函数首先定义一个包含 10 个元素的整型数组 `count`,用于记录每个数字字符出现的次数。然后遍历字符串,如果当前字符是数字字符,则将对应的计数器加 1。最后,再次遍历计数器数组,找到最大的计数值,将其存储在 `max` 指针指向的位置。
在 `main` 函数中,我们定义了一个字符串 `str`,并将其传递给 `max_count` 函数,同时传递一个指向 `max` 变量的指针。然后输出 `max` 变量的值,即为字符串中数字字符出现次数的最大值。
注意,本程序中使用了 C 语言标准库中的 `strlen` 函数,需要在程序中包含 `string.h` 头文件。
阅读全文