填空题

请补充函数fun(),该函数的功能是:从键盘输入一个下标n,把数组aa中比元素aa[n]小的元素放在它的左边,比它大的元素放在它的右边,排列成的新数组仍然保存在原数组中。 例如,数组aa={33,67,42,58,25,76,85,16,41, 56},输入3。 结果输出“33,42,25,16,41,56,58,67,76,85”。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仪在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdio.h> #define N 10 void fun(int aa[],int n) { int i,j=0,k=0,t; int bb[N]; t=aa[n]; for(i=0;i<N;i++) { if(aa[i]>t) bb[j++]=aa[i]; if(aa[i]<t) aa[k++]=aa[i]; } 【1】 ; for(i=0; 【2】 ;i++, k++) aa[k]=bb[i]; } main() { int i,n; 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[i]); printf("\n suffix n\n"); scanf("%d",&n); fun(aa,n); printf("\n*** new list ***\n"); for (i=0;i<N; i++) printf("%4d", aa[i]); }

【参考答案】

[1] aa[k++]=t [2]i<j