c++编程在线解答

来源:百度知道 编辑:UC知道 时间:2024/06/03 03:41:47
(3) 求两个整数的最大公约数和最小公倍数,用一个函数求最大公约数。用另一个函数根据求出的最大公约数求最小公倍数。
1 不用全局变量,分别用两个函数求最大公约数和最小公倍数。两个整数在主函数中输入,并传送给函数1,求出的最大公约数返回主函数,然后再与两个整数一起作为实参传递给函数2,以求出最小公倍数,返回到主函数输出最大公约数和最小公倍数。
2 用全局变量的方法,分别用两个函数求最大公约数和最小公倍数,但其值不由函数带回。将最大公约数和最小公倍数都设为全局变量,在主函数中输出它们的值。

第一小问:
#include<iostream.h>
void min(int a,int b,int &c)
{
int d,t;
d=(a>b?a:b);
for(int i=2;i=<d;i++)
{
if(a/i&&b/i) t++;
else c=i;
}
if(t==d-1) cout<<"无最大公约数"<<endl;
}
void max(int a,int b,int &c)
{
int d,f,j;
f=a/c;
j=b/c;
d=c*f*j;
c=d;
}
void main(void)
{
int a,b,c=0;
cout<<"input two number"<<endl;
cin>>a>>b;
void min(a,b,c)
cout<<"最大公约数为:"<<c<<endl;
void max(a,b,c)
cout<<"最小公倍数为:"<<c<<endl;
}
第二小问:
#include<iostream.h>
void min(int a,int b,int c)
{
int d,t;
d=(a>b?a:b);
for(int i=2;i=<d;i++)
{
if(a/i&&b/i) t++;
else c=i;