问题 填空题

请补充函数proc(),该函数的功能是把数组arr中的奇数元素按原来的先后顺序放在原数组后面。
例如,原始数组为33 67 42 58 25 76 85 16 41 55,则输出结果为42 58 76 16 33 67 25 85 41 55。
注意:部分源程序已给出。
请勿改动主函数main和其他函数中的任何内容。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#define M 10
void proc(int arr[])

int i, j=0, k=0;
int bb[M];
for(i=0; i<M; i++)

if( (1) )
bb[k++]=arr[i];
else
arr[j++]=arr[i];

for(i=0; i<k; (2) )
arr[j]=bb[i];

void main()

int i;
int arr[M]=33, 67, 42, 58。25, 76, 85, 16, 41, 55;
system("CLS");
printf("\n***original list***\n");
for(i=0; i<M; i++)
printf("%4d", arr[i]);
proc(arr);
printf("\n***new list***\n");
for(i=0; i<M; i++)
printf("%4d", arr[i]);

答案

参考答案:i++, j++

解析: 要把数组中的奇数元素放在原数组后面,首先要把原数组中所有的奇数元素选择出来放在临时数组bb中。因此[1]处填arr[i]%2!=0;最后要把选择出来的奇数元素放在原数组后面,因此[2]处填i++, j++。

单项选择题 A3/A4型题
单项选择题