在下面的代码中,我尝试按升序输出整数。 它可以工作,但是我希望将最终整数放在换行符上(仅限最终整数 - 而不是其他整数(。 我试过了
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;
}
在一行上打印除最后一个元素之外的所有元素:
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';