猿问

为什么没有人,有老师么??

#include<stdio.h>

#define N 10

void PrintData(int a[],int n);

void ReadData(int a[],int n);

void MaxMinExchange(int a[],int n);

void Swap(int *x,int *y);

int main()

{

    int i,a[N],n;

    printf("Input array a:");

    scanf("%d",&a[N]);

    printf("Input %d number:",n);

    ReadData(a,n);

    MaxMinExchange(a,n);

   printf("Exchange result:");

   PrintData(a,n);

   return 0;


}

void ReadData(int a[],int n)

{

    int i;

    for(i=0;i<n;i++)

    {

        scanf("%d",&a[i]);

    }

}

void PrintData(int a[],int n)

{

    int i;

    for(i=0;i<n;i++)

    {

        printf("%d\n",a[i]);

    }

}

void MaxMinExchange(int a[],int n)

{

    int Max=a[0],Min=a[0],Maxpos=0,Minpos=0;

   int i;

   for(i=0;i<n;i++)

   {

       if(Max<a[i])

       {

           Max=a[i];

           Maxpos=i;

       }

        for(i=0;i<n;i++)

   {

       if(Min<a[i])

       {

           Min=a[i];

           Minpos=i;

       }

   }

   Swap(&a[Maxpos],&a[Minpos]);

}

void Swap(int *x,int *y)

{

    int temp;

    temp=*x;

    *x=*y;

    *y=temp;

}


慕移动9341187
浏览 1792回答 1
1回答

RockenRoll

不好意思之前那个回答的有问题void MaxMinExchange(int a[],int n){    int Max=a[0],Min=a[0],Maxpos=0,Minpos=0;   int i;   for(i=0;i<n;i++)   {       if(Max<a[i])       {           Max=a[i];           Maxpos=i;       }        for(i=0;i<n;i++)   {       if(Min<a[i])       {           Min=a[i];           Minpos=i;       }   }   Swap(&a[Maxpos],&a[Minpos]);}这里少了一个括号,scanf("%d",&a[N]);这我上面回复错了,不过你要是想输入10个元素,还是要用循环遍历的吧,要不你定义的那个i根本就没用啊
随时随地看视频慕课网APP
我要回答