有关c++的相关问题

#include
using namespace std;
void sort(int* A, int ASize)
{
for (int i = 0; i < ASize; i++)
{
int flag = 0;
for (int j = 1; j <= ASize - 1 - i; j++)
{
if (A[j - 1] > A[j])
{
flag = 1;
int tmp = A[j - 1];
A[j - 1] = A[j];
A[j] = tmp;
}
}
if (flag == 0)
{
break;
}
}
}
int* sortedSquares(int* A, int ASize, int* returnSize)
{
*returnSize = ASize;
for (int i = 0; i < ASize; i++)
{
A[i] *= A[i];
}
sort(A, ASize);
return A;
}

int main()
{
int a[100], n, i ;
cin >> n;
for (size_t i = 0; i < n; ++i)
{
cin >> a[i];
}

sort(a, n);

for (size_t i = 0; i < n; i++)
{
    cout << a[i] << " ";
}

想问一下大家如果想要主函数中输入数组数字的个数是任意的,不需要先规定输入多少个再输入则要如何修改

用stl 的vector


#include<iostream>
#include<vector>//引入vector头文件
using namespace std;
int main() {
 vector<int> array;//定义一个vector数组array
 int number;
 while (1) {
  cin >> number;
  array.push_back(number);//每输入一个数字就把它添加到数组的最后
  if (cin.get() == '\n')//如果是回车符则跳出循环
   break;
 }
 int len = array.size();//返回数组长度为len
 //下面遍历一遍数组看看对不对
 for (int i = 0; i < len; i++) {
  cout << array[i] << endl;
 }
 return 0;
}

img

若有用望采纳!谢谢