为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕移动9341187 2015-12-16 22:26:10
#include<stdio.h>#define N 10void 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;}
查看完整描述

1 回答

已采纳
?
RockenRoll

TA贡献35条经验 获得超13个赞

不好意思之前那个回答的有问题

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根本就没用啊

查看完整回答
反对 回复 2015-12-17
  • 慕移动9341187
    慕移动9341187
    void MaxMinExchange(int a[],int n) { int i; int Max=a[0],Min=a[n],Maxpos=0,Minpos=0; 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]); }我已经改好了,谢谢你
  • 1 回答
  • 0 关注
  • 1791 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信