问题描述
请从键盘读入一个四位整数,求这个四位整数各个位的和是多少?
输入
一个四位整数 n 。
输出
这个四位数各个位的和。
样例
输入
3456
输出
18
代码1
#include <iostream>int main() {int n;std::cin >> n;int sum = 0;sum += n % 10; // 取个位数sum += (n / 10) % 10; // 取十位数sum += (n / 100) % 10; // 取百位数sum += n / 1000; // 取千位数std::cout << sum << std::endl;return 0;
}
这里我们将四位整数按位拆解,并累加到 sum
中,最后输出结果。
代码2
#include <iostream>
#include <string>int main() {std::string n;std::cin >> n;int sum = 0;for (char c : n) {sum += c - '0'; // 将字符转换为数字并累加到sum中}std::cout << sum << std::endl;return 0;
}
这里我们将输入的四位整数转换为字符串 n
,然后通过遍历字符串中的每个字符,将字符转换为数字并累加到 sum
中。最后输出结果。通过将字符减去字符 '0' 的ASCII码值,可以将字符转换为对应的数字。