输入一行字符,20个长度。输出其中单个数字字符所对应数字的和。
输入样例
abdefgaa120au8aesbt0
输出样例
11
例如:
输入 | 结果 |
---|---|
abdefgaa120au8aesbt0 | 11 |
突发奇想的非常奇怪的思路。
如果直接将c的数值累加,那么累加的只会是c的ascii码值,所以我们先把c的ascii码值减去48再累加就是数字原本的大小了。
(有其他转换方法请指教)
#include <stdio.h>
int main() {
char c;
int s = 0;
while ((c = getchar()) != '\n') {
if (c >= '0' && c <= '9') {
s = s + c - 48;
}
}
printf ("%d", s);
return 0;
}