输入一个正整数n(long long型范围内),输出n中的所有数字的和。
时间: 2023-03-21 15:04:46 浏览: 775
可以使用循环和取模运算来实现。
具体步骤如下:
1. 定义一个变量sum,用于存储数字的和,初始值为0。
2. 使用while循环,当n不为0时,执行以下操作:
a. 将n对10取模,得到n的个位数。
b. 将个位数加到sum中。
c. 将n除以10,去掉个位数。
3. 循环结束后,sum中存储的就是n中所有数字的和。
代码如下:
```c++
#include <iostream>
using namespace std;
int main() {
long long n;
cin >> n;
int sum = 0;
while (n != 0) {
sum += n % 10;
n /= 10;
}
cout << sum << endl;
return 0;
}
```
相关问题
输入一个非负整数N(long long型范围内),输出个正整数N是几位数(整数
要判断一个非负整数N是几位数,通过以下步骤来实现:
1. 将N转换为字符串类型。
2. 获取字符串,即为N的位数。
下面是一个示例的C++代码实现:
```cpp
#include <iostream>
#include <string>
int main() {
long long N;
std::cout << "请输入一个非负整数N:";
std::cin >> N;
std::string strN = std::to_string(N);
int digitCount = strN.length();
std::cout << "整数N是" << digitCount << "位数。" << std::endl;
return 0;
}
```
输入一个正整数n(long long型范围内),假设n中的所有数字的和是m,如果m大于9,再求出m的所有数字之和,重复这个过程,直到数字和为1位数,输出这个终极数字和。
可以使用循环来实现这个过程。首先,将输入的正整数n转换为字符串,然后遍历字符串中的每个字符,将其转换为数字并累加到变量m中。如果m大于9,则将m转换为字符串,再次遍历字符串中的每个字符,将其转换为数字并累加到变量m中。重复这个过程,直到m为一位数,输出m即可。以下是示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
long long n;
cin >> n;
int m = 0;
string str = to_string(n);
for (char c : str) {
m += c - '0';
}
while (m > 9) {
int sum = 0;
str = to_string(m);
for (char c : str) {
sum += c - '0';
}
m = sum;
}
cout << m << endl;
return 0;
}
```
阅读全文