读书人

c++程序求赐教

发布时间: 2012-09-27 11:11:17 作者: rapoo

c++程序求指教
#include <iostream>
using namespace std;

void main()
{
int a,b,i,min;
cout<<"输入两个正数:"<<endl;
cin>>a>>b;
min=(a<b?a:b);
for(i=1;i<=min;i++)
if (a%i==0&&b%i==0)
cout<<"i="<<i<<endl;

}



上面这段程序能求出2个正整数的所有公约数,但是怎么样改能从得到的这些公约数中只输出那个最大的???

[解决办法]
楼主,你好,根据你的问题,修改了你的代码

#include <iostream>
using namespace std;

void main()
{
int a,b,i,min;
int max;
cout<<"输入两个正数:"<<endl;
cin>>a>>b;
min=(a<b?a:b);
for(i=1;i<=min;i++)
{
if (a%i==0 && b%i==0)
{
max=i;
if(max<=i)
{max=i;}

}
}
cout<<"最大公约数是:"<<max<<endl;
}


[解决办法]
int temp;
for (i=1;i<=min;i++)
{
if (a%i==0 && b%i==0)
{
temp = i;
}
}
cout << temp << endl;
[解决办法]
#include <iostream>
using namespace std;

void main()
{
int a,b,i,min,big;
cout<<"输入两个正数:"<<endl;
cin>>a>>b;
min=(a<b?a:b);
for(i=1;i<=min;i++)
{if (a%i==0&&b%i==0)
big=i;}
cout<<"i="<<big<<endl;

}
[解决办法]
#include <iostream>
using namespace std;

void main()
{
int a,b,i,min,k;
cout<<"输入两个正数:"<<endl;
cin>>a>>b;
min=(a<b?a:b);
for(i=1;i<=min;i++)
if (a%i==0&&b%i==0)
k=i;
}

cout<<"i="<<k<<endl;

读书人网 >C++

热点推荐