请补充main函数 该函数的功能是:把一个整数插入一个已经按从小到大排序的数组中。插入后 数
问题详情
请补充main函数,该函数的功能是:把一个整数插入一个已经按从小到大排序的数组中。插入后,数组仍然有序。 例如,在数组bb[M]={10 20 30 40 50 60 70 80 85 95} 中插入75,结果为 bb[M]={10 20 30 40 50 60 70 75 80 85 95} 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。 试题程序: include<stdlib.h> include<stdio.h> define M 10 void main { int i,j; int n; int bb[M+1]={10,20,30,40,50,60,70,80,85,95}; system("CLS"); printf("\nlnput n n"); scanf("%d",&n); printf("\nn=%d",n); printf("\n***original list***\n"); for(i=0;i<M;i++) printf("%4d",bb[i]); for(i=0;i<M;i++) { if(n<=bb[i]) { for(j==M;【1】 ;j--) 【2】 ; bb[j]=n; 【3】 ; } } if(i==M) bb[i]=n: printf("\n****new list****\n"); for(i=0;i<M+1;i++) printf("%4d",bb[i]); } 请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:
【1】j>i【2】bb[j]=bb[j-1]【3】break
【解析】要把一个整数插入一个已经按从小到大排序的数组中,插入后,数组仍然有序。首先要找到应该插入的位置,将该位置的元素以及其后的元素向后移动一个位。因此,【1】处填“j>i”;【2】处填“bb[j]=bb[j-1]”。然后将指定元素插入,结束循环,因此,【3】处填“break”。