C++输入一个正整数,输出该数各位之和。
时间: 2024-03-23 18:43:27 浏览: 68
好的,这个问题很简单。以下是一个示例C++代码:
```c++
#include <iostream>
using namespace std;
int main() {
int n, sum = 0;
cout << "请输入一个正整数:";
cin >> n;
while (n > 0) {
sum += n % 10; // 求出最后一位数字并累加到sum中
n /= 10; // 把最后一位数字去掉
}
cout << "各位数字之和为:" << sum << endl;
return 0;
}
```
在上面的代码中,我们使用了一个 while 循环来依次计算输入的正整数的各个数字之和。我们使用了取模运算(%)来取出最后一位数字,使用整除运算(/)来去掉最后一位数字。最后,我们将各位数字之和输出到屏幕上。
相关问题
用c++语言写一个输入一个4位正整数,输出各位数字之和
很高兴为您服务,让我们开始吧!根据您的要求,我可以给出一个算法来计算4位正整数的各位数字之和:首先,取出第一位数字,然后加上第二位数字,再加上第三位数字,最后加上第四位数字。最后,用一个变量来存储结果,然后输出即可。
c++输入一个正整数,要求求出它是几位数,分别输出每一位数字,按逆序输出各位数字
在 C++ 中,你可以通过以下步骤来实现这个功能:
首先,获取用户输入的正整数。然后,对这个数进行除以10并取余的操作,直到商为0。每次操作会得到该数的最后一位数字。为了获取剩余的所有位数,可以将每次余数存储起来,并在遍历结束后按照逆序输出。
下面是一个简单的示例程序:
```cpp
#include <iostream>
// Function to reverse the digits and print them
void reversePrint(int num) {
std::stack<int> digits; // Stack to store the digits in reverse order
while (num > 0) {
digits.push(num % 10);
num /= 10;
}
// Output the digits in reverse order
while (!digits.empty()) {
std::cout << digits.top();
digits.pop();
}
}
int main() {
int input;
std::cout << "请输入一个正整数: ";
std::cin >> input;
if (input <= 0) {
std::cerr << "输入错误,只能输入正整数。" << std::endl;
return 1;
}
std::cout << "逆序输出的各位数字是: ";
reversePrint(input);
return 0;
}
```
阅读全文