#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int m, n;
int i;
int x = 1;
int y = 0;
printf("请输入两个正整数m和n:\n");
scanf("%d,%d", &m, &n);
for (i = 1; i <= m && i <= n; i++)
{
if (m % i == 0 && n % i == 0)
{
x = i;
}
}
for (i = 1; i <= m * n; i++)
{
if (i % x == 0)
{
y = i;
}
}
printf("最大公约数是:%d\n", x);
printf("最小公倍数是:%d\n", y);
return 0;
}
我们首先定义了两个变量m和n,以及一个变量i,用于循环计数。然后,我们使用scanf函数从用户那里获取两个正整数m和n。
接下来,我们使用两个循环分别计算最大公约数和最小公倍数。
首先,我们使用一个循环遍历m和n之间的所有整数,并检查它们是否同时能够整除m和n。如果是这样,我们将该整数作为最大公约数。
其次,我们使用另一个循环遍历1到m乘以n之间的所有整数,并检查它们是否能够整除最大公约数。如果是这样,我们将该整数作为最小公倍数。
最后,我们打印出最大公约数和最小公倍数。