11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
参考GPT和自己的思路:这段代码中的问题在于,for循环中的条件不正确,应该是 i<n 而不是 i==n。这就导致程序无法正确读入身高信息。正确的代码如下:
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n;
cin>>n;
int heights[n];
for(int i=0;i<n;i++){
cin>>heights[i];
}
sort(heights, heights + n);
for(int i=0,j=n-1; i<=j; i++,j--){
cout<<heights[j]<<" ";
if(i<j){
cout<<heights[i]<<" ";
}
}
return 0;
}
哥,这不是我发给你的那个代码么,你有一处打错了
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
int heights[n];
for (int i = 0; i < n; i++) {
cin >> heights[i];
}
sort(heights, heights + n); // 从小到大排序
for (int i = 0, j = n - 1; i <= j; i++, j--) { // 交替输出
cout << heights[j] << " ";
if (i < j) {
cout << heights[i] << " "; // 奇数的情况,最后一个不用输出
}
}
return 0;
}