C语言----对调最大数与最小数位置

对调最大数与最小数位置

实例说明:

        从键盘中输入一组数据,找出这组数据中的最大数与最小数,将最大数与最小数位置互换,并将互换后的数据再次输出。

实现过程:

  1. 打开VisualC++6.0开发环境,新建一个C源文件,并输入要创建C源文件的名称。
  2. 引用头文件,代码如下:
#include <stdio.h>

        3.利用for 循环和if条件判断语句确定最大数与最小数的位置,互换后将数组再次输出。 

        4. 程序主要代码如下:

// 对调最大数与最小数位置
#include <stdio.h>
int main(int argc, char const *argv[])
{
    int a[20], max, min, i, j, k, n;/*定义数组及变量数据类型为基本整型*/
    printf("PLease input the number of elements:\n");
    scanf("%d", &n);                /*输入要输入的元素个数*/
    printf("Please input the element:\n");
    for (i = 0; i < n; i++)         /*输入数据*/
        scanf("%d", &a[i]);
    min = a[0];
    for (i = 1; i < n; i++)         /*找出数组中最小的数*/
        if (a[i] < min)
        {
            min = a[i];
            j = i;                  /*将最小数所存储的位置赋给j*/
        }
    max = a[0];
    for (i = 1; i < n; i++)         /*找出这组数据中的最大数*/
        if (a[i] > max)
        {
            max = a[i];
            k = i;                  /*将最大数所存储的位置赋给k*/
        }
    a[k] = min;                     /*在最大数位置存放最小数*/
    a[j] = max;                     /*在最小数位置存放最大数*/
    printf("\nthe position of min is:%3d\n", j);/*输出原数组中最小数所在的位置*/
    printf("the position of max is:%3d\n", k);/*输出原数组中最大数所在的位置*/
    printf("Now the array is:\n");
    for (i = 0; i < n; i++)
        printf("%5d", a[i]);       /*将换完位置的数组再次输出*/

    return 0;
}

运行结果:

技术要点:

        本实例的主要思路是:首先要确定最大数与最小数的具体位置,将a[0]赋给min,用min 和数组中其他元素比较,有比min小的,则将这个较小的值赋给 min,同时将其所在位置赋给j,当和数组中元素均比较一次后,此时i中存放的就是数组中最小数所在的位置。最大数位置的确定方法同最小数位置的确定。当确定具体位置后将这两个数位置互换,最后将互换后的数组输出。

希望能对您的学习和生活有所帮助!

  • 31
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值