(1)改錯題:
[題目]以下程序的功能是;將一個數組插入到一個有序數組中, .插入后數組仍然有序. 輸出示倒(帶下劃線部分為鍵盤輸入): 原數組為; 0 2 4 6 8 10 12 14 16 18 輸入一個整數:7 插入后的數組為: 0 2 4 6 7 8 10 12 14 16 18 含有錯誤的源程序如下: #include <iostream.h> int *insert(int *a,int n,int x) { int *tO=new int[n+1],*t1=a; //擴充數組空間 int *p0=t0,*p1=a; while(p1<a+n){ if(*p1<x) *pO++=p1; else{ *p0++=x: break; } } whilie(p1<a+n) *p0++=*p1++; delete[]a; a=t0; return *a; }
void print(int p[],int n) { for(int i=0;i<n;i++) cout<<p[i]<<'\t'; cout<<endl; ) void main() { int a=new int[10]; cout<<"原數組為:"<<endl; print(a,10); cout<<"輸入一個整數:"; cin>>x; a=insert(a,10,x); cout<<”插入后的數組為:\l_1”; print(a,lO); delete【】a; } [要求] (1)把上述程序輸入到文件myfa.cpp中,根據題目要求及程序錯誤進行改進。 程序中的注解可以不輸入。 (2)改錯時,可以修改語句中的一部分內容和增加預處理命令, 但不能增加其它語句,也不能刪除整條語句 (3)改正后的源程序文件myfa.cpp'須放在考生文件夾T:盤中
|