[主观题]

请补充函数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];

}

[ ];

for(i=0;[ ];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]);

}

参考答案与解析:

相关试题

请补充函数fun(),该函数的功能是:从键盘输入一个下标n,把数组aa中比元素a