问答题 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出为 10 TC1 注意:不要改动main函数,不能增加或删除行,也不能 更改程序的结构,错误的语句在//******error******的下面。 试题程序: #include<iostream> classTC1 { public: TC1() { } //********error******** private: virtual~TC1() { usingnamespacestd; cout<<"TCl"<<endl; } }; classTC2:publicTC1 { public: //********error******** explicitTC2(inti) { m_i=i; } TC2&operator()(inti) { this->m_i=i; } voidprint() { //********error******** cout<<m_j<<endl; } private: intm_i; }; voidfun(TC2C1) { C1.print(); } intmain() { fun(TC2(10)); return0; }
填空题 请补充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]); }
问答题 使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成函数fun(intx)的定义,该函数功能是判定x的所有约数,并且在函数中调用写函数WriteFile将结果输出到2.txt文件中。 例如:x=100的约数为124510202550100。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<iostream) #include(fstream) #include(cmath) usingnamespacestd; voidWriteFile(intc) { ofstreamout1; out1.open("2.txt",ios_base::binary|ios_base::app); out1<<c<<';’ out1.close(); } voidfun(intx) { } voidClearFile() { ofstreamout1; out1.open("2.txt"); out1.close(); } intmain() { ClearFile(); fun(100); return0; }