給定程序MODI1.C中函數(shù) fun 的功能是:求出數(shù)組中最大數(shù)和次最大數(shù),并把最大數(shù)和a[0]中的數(shù)對調(diào)、次最大數(shù)和a[1]中的數(shù)對調(diào)。請改正程序中的錯誤,使它能得出正確的結(jié)果。
注意:不要改動 main 函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
給定源程序:
#include
#define N 20
int fun ( int * a, int n )
{ int i, m, t, k ;
for(i=0;i<2;i++) {
m=0;
for(k=i+1;k if(a[k]>a[m]) k=m;
t=a[i];a[i]=a[m];a[m]=t;
}
}
main( )
{ int x, b[N]={11,5,12,0,3,6,9,7,10,8}, n=10, i;
for ( i=0; i fun ( b, n );
for ( i=0; i }
解題思路:
第一處:外循環(huán)每循環(huán)一次,把當(dāng)前位置i賦值給m,所以應(yīng)改為:m=i;。
第二處:通過內(nèi)循環(huán)來找出最大的一個數(shù)的位置k,所以應(yīng)改為:if(a[k]>a[m]) m=k;。