#include iostream using namespace std; int main() { int n; cin n; int a[105]; for (int i 0; i n; i) { cin a[i]; } // 找最小数下标 int minIdx 0; for (int i 1; i n; i) { if (a[i] a[minIdx]) minIdx i; } // 找最大数下标 int maxIdx 0; for (int i 1; i n; i) { if (a[i] a[maxIdx]) maxIdx i; } // 交换最小和第一个 swap(a[0], a[minIdx]); // 如果最大值原来在0号位置交换后跑到minIdx了更新下标 if (maxIdx 0) maxIdx minIdx; // 交换最大和最后一个 swap(a[maxIdx], a[n - 1]); // 输出 for (int i 0; i n; i) { cout a[i] ; } return 0; }