用c语言写一个getnum(char *input)函数实现输入一个字符串找出其中连续数字组成的最大数并返回该整数,不能使用库函数
时间: 2023-07-15 07:11:31 浏览: 125
以下是一个简单的实现:
```c
#include <stdio.h>
int getnum(char *input) {
int max_num = 0;
int cur_num = 0;
int i = 0;
while (input[i] != '\0') {
if (input[i] >= '0' && input[i] <= '9') {
cur_num = cur_num * 10 + (input[i] - '0');
} else {
if (cur_num > max_num) {
max_num = cur_num;
}
cur_num = 0;
}
i++;
}
if (cur_num > max_num) {
max_num = cur_num;
}
return max_num;
}
int main() {
char input[] = "abc123def456789xyz";
int max_num = getnum(input);
printf("Max num: %d\n", max_num);
return 0;
}
```
该函数首先初始化最大数和当前数为0,然后遍历输入字符串中的每个字符,如果是数字,则将其添加到当前数中。如果遇到非数字字符,则将当前数与最大数比较,如果当前数比最大数大,则更新最大数。最后,如果当前数比最大数大,则更新最大数。最后返回最大数即可。