题目

读入一个 100~999 的整数,输出其各位数字之和。

思路

本题要求:读入一个 100~999 的整数,输出其各位数字之和。

可以反复对 10 取余得到个位,再整除 10 去掉个位,循环三次求和;也可以一次性用 n/100(n/10)%10n%10 得到百、十、个位再相加。

解题分析

三位数用 /% 拆位,不必转字符串。若题目允许任意位数,可 while(n){ sum+=n%10; n/=10; } 通用。

完整程序

#include <stdio.h>

int main(void)
{
    int n;
    if (scanf("%d", &n) != 1) {
        return 1;
    }
    int ones = n % 10;
    int tens = n / 10 % 10;
    int hundreds = n / 100;
    printf("%d\n", ones + tens + hundreds);
    return 0;
}

运行示例

输入:

358

输出:

16