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;