#include <iostream>
using namespace std;
int main () {
int input {};
int sum {0};
cout << "Number: ";
cin >> input;
while (input != 0) {
sum = sum + (input%10);
input = input / 10;
}
cout << "The sum is: " << sum << endl;
}
我已经有了整数输入来求和,所以例如: 输入:982 Ouput:总和= 19(9 + 8 + 2)
但是我的老师希望我也能得到输出:9 8 2,整数被隔开。 使用我的输入作为整数是否明智?我看到人们使用char和string,然后将其转换为整数,但是我不明白,有人可以向我解释一下,或者详细说明如何使我的整数输入间隔开,或者有其他解决方法。另外,如果用户输入负数,则必须将其转换为正数;
答案 0 :(得分:1)
您可以像这样在字符流中插入空格:
std::cout << ' '
答案 1 :(得分:0)
一种使用字符串插入并在两者之间留有空格的方法:
int main () {
int input {};
int sum {0};
cout << "Number: ";
cin >> input;
string in;
while (input != 0) {
sum += (input%10);
in.insert(0, ' ' + to_string(input % 10));
input /= 10;
}
cout << "The sum is: " << sum << endl;
cout << "Integer with space:" << in;
}
输出:
The sum is: 19
Integer with space: 9 8 2