填空题 以下程序的功能是:采用插入排序的方法将数组s1中的元素升序排序,并删除重复的元素(值相同的元素只保存一个)。函数insert(int p[],int c,int x)将整数x插入到已排序的数组P中(并仍保持升序),参数c为数组P的元素个数。函数sort(int s[],int n)将数组s中的数据按升序排序。先将s[0]放到临时数组tern[0]中,然后,依次从s中取一个元素,若该元素不在数组tem中,则调用函数insert1将该元素插入到数组tern中。最后将数组tem拷贝到数组s中。 [程序](4分) #include void insert(int p[],int c,int x) { for(int i=0;i if(p[i]>x)break; if(i==c) 2(19) 3; else{for(int J=c;j>i;j--)p[j]=P[j-1]; 4(20) 5;} } int sort(int s[],int n) {int tem[200]; int len,j,k; tem[O]=s[O]; len=1: //len记录数组tern中的元素个数 for(j=1;j for(k=0;k if(s[j]==tem[k]) 6(21) 7; } if(k>=len){ insert( 8(22) 9);len=len+1; } } for(j=0;j retum len; //返回数组的大小 } void main(void) {int s1[200]={34,22,11,55,66,30,22,100,66}; int n;n=sort(s1,9); for(int i=0;i cout<<'/n'; }
【正确答案】
【答案解析】