题目
读入一个 100~999 的整数,输出其各位数字之和。
思路
本题要求:读入一个 100~999 的整数,输出其各位数字之和。
可以反复对 10 取余得到个位,再整除 10 去掉个位,循环三次求和;也可以一次性用 n/100、(n/10)%10、n%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