用C语言编写所以请计算出接下来每行字符串中所有的数字(1~9)的和。 例如对于字符串"230t023fjq0fui01u30fgqlsjkf01i30=fiqwifk13fiq-igfqifg-qig0qiprifqwifc0eigkfglqkefq0ifr013f000kfqkf0i1230ifosfl;akg013i0gi1jgfoqkgf0qi0fkq[kfgqigf0qieg0i32igjkgoasg0u0-13if0iqogf032uitg023i0te0fivqlwfka0g02eif0iq0gi23qfu0123ur1qwurfpoqjf32u0-riu03-ifqjff9qf9-ej3kjf9qwufqfla0fifqrjqfi0ui013rui03r01r0qi0rqir1l3jtr913ur1-u0r10ir0qfu1jo3lpfj110r01rui01oiru01r012ir012i0dfialsfi0-30303030032r0923f9j23jf9023f82903fu2poi3jf23f9u290uf0923uf02u30fu13pfj9dusf",你数一数会发现答案为293. 输入要求 第一行一个整数T,表示有T组数据。 接下来T行字符串,每行长度不超过10000(注:测试数据超了,10100试下),行数不超过100。 输出要求 多行,每行一个答案表示其中的数字总和。
时间: 2024-03-13 14:43:04 浏览: 163
好的,以下是用 C 语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
int T;
scanf("%d", &T);
while (T--) {
char s[10001];
scanf("%s", s);
int len = strlen(s);
int total = 0;
for (int i = 0; i < len; i++) {
if (s[i] >= '1' && s[i] <= '9') {
total += s[i] - '0';
}
}
printf("%d\n", total);
}
return 0;
}
```
这个程序先读入一个整数T,表示有T组数据。然后循环T次,每次读入一行字符串并计算其中数字的总和,最后输出答案。在 C 语言中,我们可以使用 `strlen` 函数来获取字符串的长度,使用字符数组来存储字符串。在循环中,我们判断每个字符是否是数字,如果是,则将其转换成对应的整数并加到总和中。最后我们使用 `printf` 函数来输出答案。
阅读全文