填空题 1.  请补充函数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(______;i<M;i=i+2)
    {
    for(j=i;j<M;j=j+2)
    if(aa[i]<aa[j])
    {
    ______;
    aa[j]=aa[i];
    ______;
    }
    }
    }
    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]);
    }
  • 1、
【正确答案】 1、i=1
   t=aa[j]
   aa[i]=t    
【答案解析】 按题目的要求将数组中下标为奇数的元素按从大到小的顺序排列,所以变量i的初始值为1,因此,第1空处填“i=1”;将顺序不符合要求的两元素互换,因此,第2空处填“t=aa[j]”;第3空处填“aa[i]=t”。