函数 fun 的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。
函数接口定义:
int fun ( int *a, int n );
其中 a
和 n
都是用户传入的参数。函数 fun 的功能是求出指针 a
所指数组中的n
个元素的最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。
裁判测试程序样例:
#include <stdio.h>
#define N 10
int fun ( int *a, int n );
int main( )
{ int x, b[N]={11,5,12,0,3,6,9,7,10,8}, n=10, i;
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");
return 0;
}
/* 请在这里填写答案 */
输出样例:
11 5 12 0 3 6 9 7 10 8
12 11 5 0 3 6 9 7 10 8
代码如下:
int fun ( int *a, int n )
{
int i,max=a[0],t=0;
for(i=1;i<n;i++)
{if(a[i]>max)
max=a[i],t=i;
}
a[t]=a[0],a[0]=max;
max=a[1],t=1;
for(i=2;i<n;i++)
{if(a[i]>max)
max=a[i],t=i;
}
a[t]=a[1],a[1]=max;
}