在一个不重复的数组中,请将这个数组的最小数和数组第一个数交换,最大数和数组最后一个数交换!
输入格式
有两行
第一行有一个整数 n( 5 <= n <= 100)
第二行有 n个不重复的整数!
输出格式
移动位置后的数组
输入样例
5
6 7 1 10 4
输出样例
1 7 6 4 10
程序设计 - 移动数组元素
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
_GX_ 2022-01-08 16:14关注#include <stdio.h> #include <limits.h> #define N 100 void swap(int *a, int *b) { int t = *a; *a = *b; *b = t; } int main() { int a[N]; int n; scanf("%d", &n); for (int i = 0; i < n; i++) scanf("%d", &a[i]); int min = INT_MAX, max = INT_MIN, min_i, max_i; for (int i = 0; i < n; i++) { if (a[i] < min) { min = a[i]; min_i = i; } if (a[i] > max) { max = a[i]; max_i = i; } } swap(&a[min_i], &a[0]); swap(&a[max_i], &a[n - 1]); for (int i = 0; i < n; i++) printf("%d ", a[i]); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报