输入一个字符串,输出字符串中所有的数字。(用字符串解决)c语言
时间: 2024-10-20 14:12:28 浏览: 20
C语言实现输入一个字符串后打印出该字符串中字符的所有排列
在C语言中,你可以通过遍历字符串并检查每个字符是否为数字来提取其中的所有数字。这里有一个简单的示例程序,它使用了`isdigit()`函数来判断字符是否为数字,并将数字存储在一个数组中:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
void find_numbers(char str[], int len, int numbers[]) {
int count = 0; // 数字计数器
for (int i = 0; i < len; i++) {
if (isdigit(str[i])) { // 检查字符是否为数字
numbers[count++] = (int)str[i] - '0'; // 转换为整数并存储
}
}
numbers[count] = 0; // 结束标记
}
int main() {
char input[] = "abc123def456";
int num_count = sizeof(input) / sizeof(input[0]);
int numbers[num_count]; // 初始化足够大的数组
find_numbers(input, num_count, numbers);
printf("输入字符串中的所有数字: ");
for (int i = 0; numbers[i] != 0; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
```
这个程序首先计算字符串长度,然后对每个字符进行检查。如果是数字,则转换成整数并存入结果数组。最后,主函数打印出找到的数字。
阅读全文