请补充函数fun(),该函数的功能是把数组aa中的偶数元素按原来的先后顺序放在原数组后面。 例如,输入“33,67,42,58,25,76,85,16,41,56”,输出结果“33,67,25,85,41,42,58,76,16,56”。 注意

admin2010-09-14  14

问题 请补充函数fun(),该函数的功能是把数组aa中的偶数元素按原来的先后顺序放在原数组后面。
   例如,输入“33,67,42,58,25,76,85,16,41,56”,输出结果“33,67,25,85,41,42,58,76,16,56”。
   注意:部分源程序给出如下。
   请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
   试题程序:
    #define N 10
   void fun (int aa [] )
   {
      int i, j=0,k=0;
      int bb [N];
      for (i=0;i<N; i++)
      {
         if (【  】)
                bb [k++] =aa ;
         else
                 aa [ j ++ ] =aa ;
      }
      for(i=0;【  】;i++,j++)
         aa[j] =bb ;
   }
   main ( )
   {
    int i;
    int aa[N]={33, 67,42,58,25, 76, 85, 16,
               41,56};
   clrscr ();
   printf("\n*** original list ***\n");
   for (i=0;i<N; i++)
         printf ("%4d", aa );
   fun (aa);
   printf("\n*** new list ***\n ");
   for (i=0; i<N; i++)
         printf ("%4d", aa );
   }

选项

答案aa[i]%2==0 i<k

解析 第一空:如果一个数对2求余,结果为0;则这个数为偶数,就把这个数先暂时存在数组bb中。否则这个数为奇数,就存在数组aa中。第二空:最后,将数组bb中的偶数都拷贝到数组aa中奇数的后面。变量k记录了原数组aa中偶数的个数,所以for循环的条件是i<k。
转载请注明原文地址:https://jikaoti.com/ti/RKkiFFFM
0

相关试题推荐
最新回复(0)