#include <stdio.h>
void fun1(int *x,int *y); //将两个数比较大小,使x>y
void fun2(int *a,int *b); //辗转反侧法
void main()
{
/*定义变量*/
int num1,num2,m,n;
int max,min;
while(1)
{
/*初始化变量*/
num1 = 0;
num2 = 0;
max = 0;
min = 0;
scanf("%d%d",&num1,&num2); //输入两个数
m = num1; //保存数据
n = num2;
fun1(&num1,&num2);
if(num2 == 0) //判断是否输入0
{
printf("输入错误,输入不可以为0\n");
}
else
{
fun2(&num1,&num2);
max = num1; //保存最大公约数结果
min = m*n/max; //最小公倍数计算
printf("%d和%d的最大公约数是%d,最小公倍数是%d\n",m,n,max,min);
}
}
}
void fun1 (int *x,int *y)
{
if(*x < *y)
{
int a = 0;
a = *x;
*x = *y;
*y = a;
}
}
void fun2 (int *a,int *b)
{
while(*b !=0)
{
*a=*a % *b;
fun1(a,b);
}
}
键入两个数,求其最大公约数和最小公倍数----初学c
最新推荐文章于 2023-03-28 10:31:30 发布