C语言:输入两个正整数m和n,求其最大公约数和最小公倍数。

#include <stdio.h>

int main(void)
{	
	//定义输入的两个正整数
	int a = 0;
	int b = 0;
	int temp = 0;
	//打印时使用
	int c = 0;
	int d = 0;
	//定义最大公约数
	int maxCommonNumber = 0;
	//定义最小公倍数
	int minCommonNumber = 0;
	printf("请输入两个正整数,以空格隔开:");
	scanf("%d%d",&a,&b);
	printf("\r\n");
	//保证a>b
	if(a>b)
	{}
	else
	{
		temp = a;
		a = b;
		b = temp;
	}
	//打印赋值,方便打印
	c = a;
	d = b;
	//辗除法。
	//思路:a%b =c,b%c =d,...,一直循环,直至为0
	do
	{
		if(b!=0)
		{
			a = a%b;

			if(a!=0)
			{
				b = b%a;
			}
		}
	}while(a!=0 && b!=0);
	//最大公约数为a,b中非零的
	maxCommonNumber = (a==0)?b:a;
	//最大公倍数为二者相乘,再除以最大公约数
	minCommonNumber = c*d/maxCommonNumber;
	printf("%d %d的最大公约数为:%d \r\n",c,d,maxCommonNumber);
	printf("\r\n");
	printf("最小公倍数为:%d \r\n",minCommonNumber);
	return 0;
}
—— 完 ——
相关推荐
评论

立 为 非 似

中 谁 昨 此

宵 风 夜 星

。 露 , 辰

文章点击榜

细 无 轻 自

如 边 似 在

愁 丝 梦 飞

。 雨 , 花