1027 - 求任意三位数各个数位上数字的和

问题描述

对于一个任意的三位自然数 x ,编程计算其各个数位上的数字之和 S 。

输入

输入一行,只有一个整数 x(100≤x≤999) 。

输出

输出只有一行,包括 1 个整数。

样例

输入

123

输出

6

以下是C++实现的代码:

代码1

#include <iostream>
using namespace std;

int main() {
    int x;
    cin >> x;

    int unit = x % 10;       // 个位数
    int decade = (x / 10) % 10;   // 十位数
    int hundred = x / 100;   // 百位数

    int sum = unit + decade + hundred;
    cout << sum << endl;

    return 0;
}

该代码首先读入输入的三位自然数 x。

然后,我们使用取余运算符 % 取得 x 的个位数 unit = x % 10

接下来,我们使用整数除法 / 取得 x 的十位数 decade = (x / 10) % 10,注意要在除以 10 之后再取余。

最后,我们使用整数除法 / 取得 x 的百位数 hundred = x / 100

最后,我们将个位数、十位数和百位数相加,得到各个数位上的数字之和 sum = unit + decade + hundred,并输出结果。

这种方法通过取余和整数除法来得到个位数、十位数和百位数,并将它们相加得到数字之和。

代码2

#include <iostream>
using namespace std;

int main() {
    int x;
    cin >> x;

    int sum = 0;
    while (x > 0) {
        int digit = x % 10;
        sum += digit;
        x /= 10;
    }

    cout << sum << endl;

    return 0;
}

该代码首先读入输入的三位自然数 x。

然后,我们定义一个变量 sum 并初始化为 0,用于存储各个数位上的数字之和。

接下来,我们使用一个循环来计算各个数位上的数字之和。循环条件是 x 大于 0。

在循环内部,我们使用取余运算符 % 取得 x 的个位数 digit = x % 10,并将其加到 sum 上。

然后,我们将 x 除以 10,即 x /= 10,以便在下一次循环中处理下一个数位上的数字。

最后,我们输出 sum,即各个数位上的数字之和。

这种方法通过不断取余和整数除法来获取各个数位上的数字,并将其累加到 sum 上,直到 x 变为 0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值