/* 实验7-1-10 交换最小值和最大值(15 分) 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大和最小值都是唯一的。 输入格式: 输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。 输出格式: 在一行中顺序输出交换后的序列,每个整数后跟一个空格。 输入样例: 5 8 2 5 1 4 输出样例: 1 2 5 4 8 */ #include<stdio.h> #define N 10 //时间:2018年4月7日21:32:41 //思路:不断的交换,设置临时变量存储下标。 int main() { int i, x, n; int min, max; int p, q, temp; int a[N]; scanf("%d", &n); for (i = 0; i < n; i++) { scanf("%d", &a[i]); //&a[i] == a+i ==(a+i) } min = a[0]; for (i = 0; i < n; i++) { if (min >= a[i]) { min = a[i]; p = i; } } temp = a[0]; a[0] = a[p]; a[p] = temp; max = a[0]; for (i = 0; i < n; i++) { if (max <= a[i]) { max = a[i]; q = i; } } temp = a[n - 1]; a[n - 1] = a[q]; a[q] = temp; for (i = 0; i < n; i++) { printf("%d ", a[i]); } return 0; }
实验7-1-10 交换最小值和最大值(15 分)
猜你喜欢
转载自blog.csdn.net/aa11224488/article/details/79845362
今日推荐
周排行