c语言提取一个字符串中的数字并求和
时间: 2023-12-06 11:34:31 浏览: 183
可以使用C语言的字符串处理函数和循环来提取一个字符串中的数字并求和。下面是一个示例代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin);
int sum = 0;
int num = 0;
int sign = 1;
for (int i = 0; str[i] != '\0'; i++) {
if (isdigit(str[i])) {
num = num * 10 + (str[i] - '0');
}
else if (str[i] == '-') {
sign = -1;
}
else {
sum += sign * num;
num = 0;
sign = 1;
}
}
sum += sign * num;
printf("字符串中的数字和为:%d\n", sum);
return 0;
}
```
这段代码中,我们使用`fgets`函数从用户输入中读取字符串,并使用循环遍历字符串的每个字符。如果字符是数字,则将其转换为数字并累加到`num`变量中。如果字符是负号,将`sign`变量设为-1,用于处理负数。如果字符不是数字,则将当前累加的数字加到总和`sum`中,并重置`num`和`sign`变量。
最后,打印出字符串中的数字和。
阅读全文