牛骨文教育服务平台(让学习变的简单)
博文笔记

最大数与最小数调换位置

创建时间:2017-05-21 投稿人: 浏览次数:644

题目内容:

下面程序的功能是从键盘任意输入n个数,然后找出其中的最大数与最小数,并将其位置对换。目前程序中存在错误,请修改正确。并按照给出的程序运行结果示例检查修改后的程序。

程序运行结果示例1:

Input n(n<=10):

5↙

Input 5 Numbers:

12 4 6 7 0↙

After MaxMinExchange:

0 4 6 7 12

程序运行结果示例2:

Input n(n<=10):

6↙

Input 6 Numbers:

7 -3 2 0 56 18↙

After MaxMinExchange:

7 56 2 0 -3 18

   #include  <stdio.h>
  #define ARR_SIZE 10
  int main()
  {
     int a[ARR_SIZE], i, n;
     printf("Input n(n<=10):
");
     scanf("%d", &n);
     printf("Input %d Numbers:
", n);
     for (i=0; i<n; i++)
     {
        scanf("%d", &a[i]);
     }
     MaxMinExchang(a, n);
    printf("After MaxMinExchange:
");
     for (i=0; i<n; i++)
     {
        printf("%d ", a[i]);
     }
    printf("
");
    return 0;
  }
  void  MaxMinExchang(int *a, int n)
 {
     int  maxValue = a[0], minValue = a[0], maxPos, minPos;
     int  i, temp;
     for (i=0; i<n; i++)
    {
       if (a[i] > maxValue)
        {
           maxValue = a[i];
           maxPos = i;
        }
        if (a[i] < minValue)
       {
            minValue = a[i];
            minPos = i;
        }
     } 
     temp = a[maxPos];
     a[maxPos] = a[minPos];
     a[minPos] = temp;
  }

输入提示信息 "Input n(n<=10): "

                "Input %d Numbers: "

输入格式: "%d"

输出格式:"%d " (注意:%d后面有一个空格)

输出提示信息:"After MaxMinExchange: "


#include  <stdio.h>
#define ARR_SIZE 10
void  MaxMinExchang(int a[], int n);
int main()
{
     int a[ARR_SIZE], i, n;
     printf("Input n(n<=10):
");
     scanf("%d", &n);
     printf("Input %d Numbers:
", n);
     for (i=0; i<n; i++)
     {
        scanf("%d", &a[i]);
     }
     MaxMinExchang(a, n);
    printf("After MaxMinExchange:
");
     for (i=0; i<n; i++)
     {
        printf("%d ", a[i]);
     }
    printf("
");
    return 0;
  }
  void  MaxMinExchang(int *a, int n)
 {
     int  maxValue = a[0], minValue = a[0], maxPos=0, minPos=0;
     int  i, temp;
     for (i=0; i<n; i++)
    {
       if (a[i] > maxValue)
        {
           maxValue = a[i];
           maxPos = i;
        }
        else if(a[i]<minValue)
       {
            minValue = a[i];
            minPos = i;
        }
     }
     temp = a[maxPos];
     a[maxPos] = a[minPos];
     a[minPos] = temp;
  }


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。