用C语言输入一个字符串将其中的数字组成一个数字并输出
时间: 2023-06-17 21:07:42 浏览: 125
C语言字符串的输入和输出
以下是一个示例代码,其中使用了C语言的标准库函数isdigit()和atoi()来检测和转换数字字符:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int num = 0;
printf("请输入一个字符串:");
fgets(str, 100, stdin);
for (int i = 0; str[i] != '\0'; i++) {
if (isdigit(str[i])) {
num = num * 10 + (str[i] - '0');
}
}
printf("组成的数字为:%d\n", num);
return 0;
}
```
解释:
1. 定义一个字符数组 `str` 存储输入的字符串,定义一个整型变量 `num` 存储组成的数字。
2. 使用 `fgets()` 函数从标准输入(即键盘)获取输入的字符串,并将其存储到字符数组 `str` 中。这里假设输入的字符串不超过 100 个字符。
3. 使用 `for` 循环遍历字符串中的每个字符,如果当前字符是数字,则将其转换为整型并累加到 `num` 中。这里使用 `isdigit()` 函数来检测字符是否为数字,使用 `str[i] - '0'` 来将字符转换为整型。
4. 循环结束后,输出组成的数字 `num`。
注意:该代码假设输入的字符串只包含数字字符和其他字符,如果输入的字符串中包含非数字字符,则程序可能会出现异常。为了更好地处理输入错误的情况,可以添加一些错误处理的代码。
阅读全文