下列给定程序中,函数fun的功能是:把形参a所指数组中的最小值放在元素a[0]中,接着把a所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3],依此类推。
规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。
请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
# include <stdio.h>
#define N 9
void fun (int a[], int n)
int i, j, max, min, px, pn, t;
for (i=0; i<n-1; 1+=2)
/**********found********** /
max=min= (1) ;
px=pn=i;
for (j=i+1; j<n; j++)
/**********found********** /
if (max < (2) )
max=a[j]; px=j;
/**********found********** /
if (min> (3) )
min=a[j]; pn=j;
if (pn!=i)
t=a[il; a[i]=min; a[pn]=t;
if (px==i) px-pn;
if (px !=i+1)
t=a[i+1]; a[i+1]=max;
a[px]=t;
void main ()
int b[N]=9, 1, 4, 2, 3, 6, 5, 8, 7, i;
printf ("\nThe original data :\n");
for(i=0;i<N; i++)
printf ("% 4d ", b[i]);
printf ("\n");
fun (b, N);
printf ("\nThe data after moving:
\n");
for (i=0; i<N; i++)
printf ("% 4d ", b[i]);
printf ("\n");