(1)用while判断语句做
printf("请输入两个正整数:\n");
int a = 0,b = 0,a1 = 0,b1 = 0, res = 0;
scanf("%d%d", &a, &b);
a1 = a,b1 = b;
res = a1 % b1;
while (res != 0) {
a1 = b1;
b1 = res;
res = a1 % b1;
if (res == 0) {
break;
}
}
printf("最大公约数是:%d\n", b1);
printf("最小公倍数是:%d", a * b / b1);
(2)用三目运算符做
int a, b;
printf("请输入两个正整数:\n");
scanf("%d%d", &a, &b);
for (int i = (a > b ? a : b); i > 0; i--) {
if (a % i == o && b % i == 0) {
printf("最大公约数是:%d", i);
}
}
printf("请输入两个正整数:\n");
int num1 = 0, num2 = 0;
scanf("%d%d", &num1, &num2);
for (int i = (num1 > num2 ? num1 : num2); i <= num1 * num2; i++) {
if (i % num1 == 0 && i % num2 == 0) {
printf("最小公倍数是:%d", i);
}
}