交换最小值和最大值 (15 分)

简介: 交换最小值和最大值 (15 分)

交换最小值和最大值 (15 分)

本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。

注意:题目保证最大和最小值都是唯一的。

输入格式:

输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。

输出格式:

在一行中顺序输出交换后的序列,每个整数后跟一个空格。

输入样例:

5

8 2 5 1 4

结尾无空行

输出样例:

1 2 5 4 8

结尾无空行

#include<stdio.h>
int main(){
    int n,temp;
    int a[11];
    scanf("%d",&n);
    for (int i = 0; i < n; i++) {
        scanf("%d",&a[i]);
    }
    int min = a[0];
    int min_index = 0;
    for (int i = 0; i < n; i++) {
        if(min>a[i]){
            min = a[i];
            min_index = i;
        }
    }
    if(min_index!=0){
        temp = a[0];
        a[0] = a[min_index];
        a[min_index] = temp;
    }
    int max = a[0];
    int max_index = 0;
    for (int i = 0; i < n; i++) {
        if(max<a[i]){
            max = a[i];
            max_index = i;
        }
    }
    if(max_index!=n-1){
        temp = a[n-1];
        a[n-1] = a[max_index];
        a[max_index] = temp;
    }
    for (int i = 0; i < n; i++) {
        printf("%d ",a[i]);
    }
    return 0;
}```
相关文章
|
6月前
和最小的K个数对
和最小的K个数对
|
算法
把数组里面数值排成最小的数
把数组里面数值排成最小的数
35 1
|
6月前
lamba统计最大值,最小值,平均值,总和,个数
lamba统计最大值,最小值,平均值,总和,个数
|
6月前
|
弹性计算 运维 算法
证书编号最大值
【4月更文挑战第30天】
30 0
wustojc5001求若干整数的最大值
wustojc5001求若干整数的最大值
63 0
|
11月前
不用数组求多个数的最小值
不用数组求多个数的最小值
42 0
|
C++
acwing 716. 最大数和它的位置 int的最大值和最小值
acwing 716. 最大数和它的位置 int的最大值和最小值
91 0
交换最小值和最大值
交换最小值和最大值
163 0
|
C++
C++怎么求三个数的最大值?
C++98的老码农们,应该都知道std::max() 函数可以从两个数中求最大值。
1860 0
C++怎么求三个数的最大值?