请编写一个程序实现以下功能:从一个字符串中,提取出所有的数字字符即 0~9,并作为数求和。 输入 一行字符串,长度不超过 100,字符串中不含空格。 输出 字符串中所有数字字符作为数的和
时间: 2024-12-21 10:30:34 浏览: 6
要实现这个功能,你可以使用C语言中的`isdigit()`函数来检查每个字符是否为数字,然后累加到总和上。这里是一个简单的C程序:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char input[101];
int sum = 0;
fgets(input, sizeof(input), stdin); // 读取一行字符串
for (int i = 0; input[i] != '\0'; i++) { // 遍历字符串中的每一个字符
if (isdigit(input[i])) { // 检查字符是否为数字
sum += input[i] - '0'; // 如果是数字,将其转换为整数并累加
}
}
printf("字符串中所有数字字符的和: %d\n", sum);
return 0;
}
```
在这个程序中,我们首先读取用户输入的一行字符串,然后遍历每个字符,使用`isdigit()`函数判断字符是否是数字。如果是,我们就把它减去'0'(因为ASCII码中'0'的值是48),得到其对应的整数值并累加到总和`sum`上。最后输出计算出的和。
阅读全文