输入一个整数,将该数字上的每一位上的数字求和并输出,如输入123,计算1+2+3的和并输出c++
时间: 2023-06-26 20:08:06 浏览: 110
可以将输入的整数转化为字符串,然后遍历字符串中的每一位数字并将其转化为整数累加即可。以下是 C++ 代码示例:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
int num, sum = 0;
cin >> num;
string num_str = to_string(num);
for (char digit : num_str) {
sum += digit - '0';
}
cout << "数字上每一位上的数字之和为:" << sum << endl;
return 0;
}
```
例如,输入 123,输出结果为:
```
数字上每一位上的数字之和为:6
```
相关问题
输入一个三位正整数,求各位数的立方之和。例如:输入123,输出36
要计算一个三位正整数各位数字的立方之和,你可以编写一个简单的程序,首先获取输入的整数,然后分解为个位、十位和百位数字,分别计算它们的立方并求和。以下是一个Python代码示例:
```python
def cube_sum_of_digits(n):
# 检查输入是否为三位正整数
if len(str(n)) != 3 or n < 100 or n >= 1000:
return "输入错误,请输入一个三位正整数"
# 分解成百位、十位和个位数字
hundred = n // 100
ten = (n % 100) // 10
unit = n % 10
# 计算每个位置的立方和
sum_cubes = hundred**3 + ten**3 + unit**3
return sum_cubes
# 示例
input_num = 123
result = cube_sum_of_digits(input_num)
print(f"输入 {input_num} 后,各位数的立方之和为 {result}")
```
当你运行这个程序并提供一个三位正整数时,它会返回结果。如果输入的不是一个三位数,程序会显示错误消息。
编写程序,从键盘输入一个1~999的整数,然后 1)求出它是几位数 2)分别取出每位数,然后求和 3)按逆序输出每位数字,例如,输入123,输出321
num = int(input("请输入一个1~999的整数:"))
digits = 0
sum = 0
reverse_num = 0
# 求出它是几位数
if num < 10:
digits = 1
elif num < 100:
digits = 2
else:
digits = 3
# 分别取出每位数,然后求和
for i in range(digits):
digit = num % 10
sum += digit
reverse_num = reverse_num * 10 + digit
num //= 10
# 按逆序输出每位数字
print("它是", digits, "位数")
print("每位数字之和是", sum)
print("按逆序输出每位数字:", reverse_num)