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