(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:盘中
|