首页 > 解决方案 > 以升序输出整数时将最后一个整数换行

问题描述

在下面的代码中,我试图按升序输出整数。它有效,但是我希望将最终整数放在换行符上(仅最终整数 - 而不是其他整数)。我努力了

cout << myVec[i] << " "; endl

和...

cout << myVec[i] << endl;

但是,两者都没有给出我正在寻找的输出(这些会影响其他整数,这不是我想要的。

#include <iostream>
#include <vector>

using namespace std;

void SortVector(vector<int>& myVec)
{
  int n = myVec.size();
  int i, j;
  for (i = 0; i < n - 1; i++)
    for (j = 0; j < n - i - 1; j++)
      if (myVec[j] > myVec[j + 1])
      {
        int temp = myVec[j];
        myVec[j] = myVec[j + 1];
        myVec[j + 1] = temp;
      }
}

int main()
{
  int i, n, value;
  cin >> n;
  vector<int> myVec;

  for (i = 0; i < n; i++)
  {
    cin >> value;
    myVec.push_back(value);
  }
  SortVector(myVec);
  for (i = 0; i < n; i++)
    cout << myVec[i] << " ";
  return 0;
}

标签: c++

解决方案


在一行上打印除最后一个元素之外的所有元素:

for (i = 0; i < n-1; i++) // notice n-1
    std::cout << myVec[i] << ' ';
std::cout << '\n';

然后你可以打印最后一个:

if(myVec.size())
    std::cout << myVec.back() << '\n';

推荐阅读