如何在整数之间包含空格作为输出

时间:2019-11-20 13:45:47

标签: c++

#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,然后将其转换为整数,但是我不明白,有人可以向我解释一下,或者详细说明如何使我的整数输入间隔开,或者有其他解决方法。另外,如果用户输入负数,则必须将其转换为正数;

2 个答案:

答案 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