关于初级c++问题,逻辑错误

zhuceliyang 发布于 2012/11/25 21:16
阅读 286
收藏 0

#include<iostream>
using namespace std ;
class base {
public:
 base(int a,int b)
 {
 a=a;
 b=b;
 }
 int g(int a,int b)
 {
  //m=a<b?a:b;
  for (i=1;i++;i<a||i<b)
  {
  if(a%i==0||b%i==0)
   max=i;}
  
  return max;
  

 }
protected:
 int a,b,m,i,max;
};
class er:public base{
public:
 er(int x,int y,int m):base(x,y)
   {
   m=m;
   }
   int maxg()
   {
    d=base::g(a,b);
    f=base::g(a,m);
    e=base::g(b,m);
   if (d==f||f==e)
   return d;
   //else
   //return 0;
   }
private:
 int m,d,e,f;
};
int main()
{er c1(6,9,12);
 er   c2(4,6,7);
    int x,y;
   x=c1.maxg();
   y=c2.maxg();
 //x=123;
// y=2344;
   cout<<x<<endl<<y<<endl;
   return 0;

}

 

用继承的方法求最大公约数

 

此程序无语法错误,运行结果不对,

加载中
0
cloud
cloud
两个if里面的||改&&。
0
zhuceliyang
zhuceliyang

引用来自“cloud”的答案

两个if里面的||改&&。

悲催!c++运行环境出问题啦,等我运行好了再回复您吧,现在先谢谢您的回答!!!1

 

返回顶部
顶部