填空题 请补充函数proc(),该函数的功能是:把数组aa中元素下标为奇数的元素按从大到小的顺序重新保存在原数组中,其他元素位置不变。
例如,若数组aa中的元素为:“45 65 40 32 13 57 88 90 67 99”,则输出结果为:“45 99 40 90 13 65 88 57 67 32”。
注意:部分源程序中的给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#define M 10
void proc(int aa[])
{
int i, j, t;
for( 1; i<M; i=i+2)
{
for(j=i; j<M; j=j+2)
if(aa[i]<aa[j])
{
2;
aa[j]=aa[i];
3;
}
}
}
void main()
{
int i;
int aa[M]={45, 65, 40, 32, 13, 57, 88, 90, 67, 99};
system("CLS");
printf("/n***original list***/n");
for(i=0; i<M; i++)
printf("%4d", aa[i]);
proc(aa);
printf("/n***new list***/n");
for(i=0; i<M; i++)
printf("%4d", aa[i]);
}
【正确答案】
【答案解析】i=1 t=aa[j] aa[i]=t[解析] 按题目中要求将数组中元素下标为奇数的元素按从大到小的顺序排列,所以变量i的初始值为1,因此,第一处填“i=1”;将顺序不符合要求的两元素互换,因此,第二处填“t=aa[j]”;第三处填“aa[i]=t”。