填空题
请补充函数fun(),该函数的功能是把数组bb中的数按从小到大的排列(数组的值及元素个数从土函数中输入)。
例如,输入2 3 5 4 1,结果为1 2 3 4 5。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()吧的横线上填入所编写的若干表达式或语句。
试题程序:
# include<stdio. h>
# define N 100
void fun(int bb[], int n)
{
int i,j,t;
for (i=0;{{U}} 【1】 {{/U}};i++)
for(j=0;{{U}} 【2】 {{/U}};j++)
if(bb[j]>bb[j+1] )
{
t=bb[j];
bb [j]=bb [j+1];
bb[j+1]=t;
}
}
main()
{
int i=0, n=0;
int bb[N];
clrscr ();
printf("/nInput n: /n");
scanf ("%d", &n);
printf ("/nInput data: /n");
while (i<n)
{
printf ("bb [%d] =", i);
scanf ("%d", &bb [i]);
i++;
}
fun (bb, n);
printf("/n*** the result ***/n");
for (i=0; i<n; i++ )
printf ( "%4d'', bb [i]);
}
【正确答案】
1、[1]i<n [2] j<n-1
【答案解析】[解析] 填空1:本题采用冒泡法进行排序。冒泡法的思路是:如果对n个数从小到大排序,则要进行n轮比较,在每一轮比较中要进行n-1次两两比较。所谓两两比较就是从头到尾依次将相邻两个数进行比较并将其中大的数放在后面,即两两比较后这两个数要形成题中所要求的顺序。理解了冒泡法的思路,则此空应填i<n。填空2;理解了冒泡法的思路,则此空应