c语言编程紧急求助
来源:百度知道 编辑:UC知道 时间:2024/09/24 21:27:40
用全局变量的方法,分别用两个函数求最大公约数和最小公倍数,但其值不由函数带回。将最大公约数和最小公倍数都设为全局变量,在主函数中输出他们的值。
这个要求真古怪。
#include <stdio.h>
int GCD, LCM;
void gcd(int a, int b)
{
register int x, y, r;
for (x = a, y = b;r = x % y;y = r) x = y;
GCD = y;
}
void lcm(int a, int b)
{
register int x, y, r;
for (x = a, y = b;r = x % y;y = r) x = y;
LCM = a / y * b;
}
int main()
{
int a, b;
void gcd(int, int);
void lcm(int, int);
scanf("%d %d", &a, &b);
gcd(a, b);
printf("GCD(%d,%d)=%d\n", a, b, GCD);
lcm(a, b);
printf("LCM(%d,%d)=%d\n", a, b, LCM);
return 0;
}
#include<stdio.h>
int p=0,q=0; /*你要求的全局变量*/
int Max(int a,int b) /*求最大公约数函数*/
{
int i=0;
for(i=1;i<=(a<b)?a:b;i++)
{
if(a%i==0&&b%i==0)
{
p=i;