/*给定程序modi.c中,函数fun的功能是:求出a所指数组中最大数和次最大数(规定最大数和次最大数不在a[0]和a[1]中,依次和a[0]、a[1]中的数对调。
例如数组中原有的数为:7、10、12、0、3、6、9、11、5、8,
输出的结果为:12、11、7、0、3、6、9、10、5、8。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!*/
#include <conio.h>
#include <stdio.h>
#define N 20
int fun(int *a,int n)
{int k,m1,m2,max1,max2,t;
max1=max2=-32768;m1=m2=0;
for (k=0;k<n;k++)
if(a[k]>max1)
{ max2=max1;m2=m1;
max1=a[k];m1=k;
}
else if (a[k]>max2)
{ max2=a[k];m2=k;}
/************found************/
t=a[0];a[m1]=a[0];a[m1]=t;
/************found************/
t=a[1];a[m2]=a[1];a[m2]=t;
}
main()
{ int x,b[N]={7,10,12,0,3,6,9,11,5,8},n=10,i;
clrscr();
for (i=0;i<n;i++) printf("%d ",b[i]);printf("\n");
fun(b,n);
for(i=0;i<n;i++) printf("%d ",b[i]);printf("\n");
}
如果知道的可以加我QQ:362604147
( modi.c) ONE