内容发布更新时间 : 2024/12/22 20:45:00星期一 下面是文章的全部内容请认真阅读。
}
void main() {
int x=5,y=12,z=8; CE ex, *ep=&ex; ex.SetValue(x,y,z);
cout< } int a,b; int getmin() {return (a int GetMin(); int CE::GetMin() { int d=getmin(); return (d } void main() { int x=5,y=12,z=8; CE *ep; ep=new CE; ep->SetValue(x+y,y-z,10); cout< cout< } 定义分数类 int nume; //定义分子 int deno; //定义分母 16 9. #include a=x1; b=x2; c=x3; }; 10. #include class Franction { // public: //把*this化简为最简分数,具体定义在另外文件中实现 void FranSimp(); //返回两个分数*this和x之和,具体定义在另外文件中实现 Franction FranAdd(const Franction& x); //置分数的分子和分母分别0和1 void InitFranction() {nume=0; deno=1;} //置分数的分子和分母分别n和d void InitFranction(int n, int d) {nume=n; deno=d;} //输出一个分数 void FranOutput() {cout< void main() { Franction a,b,c,d; a.InitFranction(7,12); b.InitFranction(-3,8); c.InitFranction(); c=a.FranAdd(b); d=c.FranAdd(a); cout<<\ cout<<\ cout<<\ cout<<\ } 11. #include class Franction { //定义分数类 int nume; //定义分子 int deno; //定义分母 public: //把*this化简为最简分数,具体定义在另外文件中实现 void FranSimp(); //返回两个分数*this和x之和,具体定义在另外文件中实现 Franction FranAdd(const Franction& x); //置分数的分子和分母分别0和1 void InitFranction() {nume=0; deno=1;} //置分数的分子和分母分别n和d void InitFranction(int n, int d) {nume=n; deno=d;} //输出一个分数 void FranOutput() {cout< 17 }; void main() { Franction a,b,c,d; a.InitFranction(6,15); b.InitFranction(3,10); c.InitFranction(); c=a.FranAdd(b); d=c.FranAdd(a); cout<<\ cout<<\ cout<<\ cout<<\ } 五、程序改错,指出错误的程序行并改正 1. 在下面的定义中,NODE是链表结点的结构,appendToList则是一函数,其功能是:在list所指向的链表的末尾添加一个新的值为x的结点,并返回表头指针。函数中有两处错误,指出错误所在行的行号并提出改正意见。 struct NODE{ int data; NODE *next; }; NODE* appendToList(NODE *list, int x){ //1行 NODE *p=new int; //2行 p->data=x; //3行 p->next=NULL; //4行 if(list==NULL) return p; //5行 NODE *p1=list; //6行 while(p1->next!=NULL) p1=p1->next; //7行 p1=p; //8行 return list; } 错误行的行号为______和________。 分别改正为______________和______________。 2. 在下面的定义中,NODE是链表结点的结构,addToList则是一函数,其功能是:将一个值为x的新结点添加到以plist为表头指针的链表的首部(即第一个结点的前面)并返回表头指针。函数中有两处错误,指出错误所在行的行号并提出改正意见。 struct NODE{ 18 int data; NODE *next; }; NODE* adndToList(NODE * plist, int x){ //1行 NODE *p; //2行 *p=new NODE; //3行 p->data=x; //4行 p->next=NULL; //5行 plist=p; //6行 return p; //7行 } 错误行的行号为______和________。 分别改正为______________和______________。 3. 下面程序的主函数中第7和8行有错误,请把它们改正过来。 #include class Franction { //定义分数类 int nume; //定义分子 int deno; //定义分母 public: //把*this化简为最简分数,具体定义在另外文件中实现 void FranSimp(); //返回两个分数*this和x之和,具体定义在另外文件中实现 Franction FranAdd(const Franction& x); //置分数的分子和分母分别0和1 void InitFranction() {nume=0; deno=1;} //置分数的分子和分母分别n和d void InitFranction(int n, int d) {nume=n; deno=d;} //输出一个分数 void FranOutput() {cout< void main() //1行 { //2行 Franction a,b,c; //3行 a.InitFranction(6,15); //4行 b.InitFranction(1); //5行 c.InitFranction(); //6行 c=FranAdd(a,b); //7行 cout< 19 第7行改正为_________________________。 第8行改正为__________________________。 4. 假定要求下面程序的输出结果为“23/20”,其主函数中第6,9,10行有错误,请给予改正。 #include class Franction { //定义分数类 int nume; //定义分子 int deno; //定义分母 public: //把*this化简为最简分数,具体定义在另外文件中实现 void FranSimp(); //返回两个分数*this和x之和,具体定义在另外文件中实现 Franction FranAdd(const Franction& x); //置分数的分子和分母分别0和1 void InitFranction() {nume=0; deno=1;} //置分数的分子和分母分别n和d void InitFranction(int n, int d) {nume=n; deno=d;} //输出一个分数 void FranOutput() {cout< void main() //1行 { //2行 Franction *a=new Franction; //3行 Franction *b=new Franction; //4行 a->InitFranction(6,15); //5行 b.InitFranction(3,4); //6行 Franction c; //7行 c.InitFranction(); //8行 c=a.FranAdd(b); //9行 cout< 错误行的行号为______、________和________。 分别改正为____________________、________________和___________________。 5. 下面是一个类的定义,存在着3处语法错误,请指出错误行的行号并改正。 class CE { //1行 private: //2行 int a,b; //3行 int getmin() {return (a 20