用C语言写,输入一个以回车符为结束标志的字符串(少于10个字符),提取其中的所有数字字符,将其转换为一个十进制整数输出
时间: 2024-02-23 20:58:11 浏览: 98
C语言实现字符串转十进制算法
好的,以下是用 C 语言实现该功能的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#define MAX_LEN 10 // 最大输入长度
int main() {
char input_str[MAX_LEN + 1]; // 定义字符数组存储输入的字符串
int num = 0; // 定义整数变量存储数字字符转换后的结果
int i;
printf("请输入字符串(少于10个字符):\n");
fgets(input_str, MAX_LEN + 1, stdin); // 从标准输入中读取字符串
for (i = 0; input_str[i] != '\0'; i++) {
if (isdigit(input_str[i])) { // 判断当前字符是否为数字字符
num = num * 10 + (input_str[i] - '0'); // 将字符转换为数字并累加
}
}
printf("转换后的整数为:%d\n", num);
return 0;
}
```
上述代码中,我们使用 `fgets()` 函数从标准输入中读取字符串,并存储到字符数组 `input_str` 中。然后,我们遍历 `input_str` 中的每个字符,判断其是否为数字字符。如果是数字字符,则将其转换为数字并累加到变量 `num` 中。最后输出变量 `num` 的值即可。
需要注意的是,由于 `fgets()` 函数会自动在输入字符串末尾添加一个换行符,因此在判断字符串结束时需要使用字符 `'\0'`,而不是字符 `'\n'`。
阅读全文