C语言实例第06期:交换数组中最大数和最小数的位置

Posted C语言中文社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言实例第06期:交换数组中最大数和最小数的位置相关的知识,希望对你有一定的参考价值。

技术干货第一时间送达!


往期回顾:






实例代码

//
// Created by 冲哥 on 2020/9/13.
//实现功能:交换数组中最大数和最小数的位置
//

#include "stdio.h"

int main(){
    int a[10];
    int max, min;
    int m, n;

    printf("请输入10个数字:\n");
    for (int i = 0; i < 10; i++) {
        scanf("%d", &a[i]);
    }
    printf("输入的10个数是:\n");
    for (int i = 0; i < 10; i++) {
        printf("%4d", a[i]);
    }
    printf("\n");
    max = a[0];
    for (int i = 0; i < 10; i++) {
        if (a[i] > max) {
            max = a[i];
            m = i;
        }
    }

    min = a[0];
    for (int i = 0; i < 10; i++) {
        if (a[i] < min) {
            min = a[i];
            n = i;
        }
    }

    a[m] = min;
    a[n] = max;

    printf("交换最大数和最小数的位置后:\n");
    for (int i = 0; i < 10; i++) {
        printf("%4d", a[i]);
    }
}  //
// Created by 冲哥 on 2020/9/13.
//实现功能:交换数组中最大数和最小数的位置
//

#include "stdio.h"

int main(){
    int a[10];//定义数组
    int max, min;//定义最大值和最小值
    int m, n;//定义最大值和最小值的位置

    printf("请输入10个数字:\n");
    for (int i = 0; i < 10; i++) {
        scanf("%d", &a[i]);
    }
    printf("输入的10个数是:\n");
    for (int i = 0; i < 10; i++) {
        printf("%4d", a[i]);
    }
    printf("\n");
    max = a[0];
    for (int i = 0; i < 10; i++) {
        if (a[i] > max) {
            max = a[i];//找最大值
            m = i;
        }
    }

    min = a[0];
    for (int i = 0; i < 10; i++) {
        if (a[i] < min) {
            min = a[i];//找最小值
            n = i;
        }
    }

    a[m] = min;
    a[n] = max;

    printf("交换最大数和最小数的位置后:\n");
    for (int i = 0; i < 10; i++) {
        printf("%4d", a[i]);
    }
}//
// Created by 冲哥 on 2020/9/13.
//实现功能:交换数组中最大数和最小数的位置
//

#include "stdio.h"

int main(){
    int a[10];//定义数组
    int max, min;//定义最大值和最小值
    int m, n;//定义最大值和最小值的位置

    printf("请输入10个数字:\n");
    for (int i = 0; i < 10; i++) {
        scanf("%d", &a[i]);
    }
    printf("输入的10个数是:\n");
    for (int i = 0; i < 10; i++) {
        printf("%4d", a[i]);
    }
    printf("\n");
    max = a[0];
    for (int i = 0; i < 10; i++) {
        if (a[i] > max) {
            max = a[i];//找最大值
            m = i;
        }
    }

    min = a[0];
    for (int i = 0; i < 10; i++) {
        if (a[i] < min) {
            min = a[i];//找最小值
            n = i;
        }
    }

    a[m] = min;
    a[n] = max;

    printf("交换最大数和最小数的位置后:\n");
    for (int i = 0; i < 10; i++) {
        printf("%4d", a[i]);
    }
}

运行结果:

程序分析

首先找到数组中的最大值和最小值,记录它们的位置,然后交换位置,最后将交换后的数组输出。

应该很好理解,如有疑问,随时后台留言或者添加我们的交流群

「C语言交流群:回台回复【C语言】」

C语言中文社区 发起了一个读者讨论 你还有什么好的方法?




9.14





好文!点个好看!

以上是关于C语言实例第06期:交换数组中最大数和最小数的位置的主要内容,如果未能解决你的问题,请参考以下文章

用python输出最大的数和最小的数,及最大数和最小数的平均值,这个应该怎么做?

c语言编程从输入的n个数中,去掉一个最大数和一个最小数,求剩余数的平均值。

数组排序

C语言试题140之输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组

C语言之冒泡排序

C语言关于小数存入数组函数编写