辞辞辞辞歌 2022-10-25 16:05 采纳率: 85.7%
浏览 102
已结题

输入两个正整数m和n,求它们的最大公约数和最小公倍数

#include <stdio.h>

int main() {
int m, n, c, d;
int i, j, k;
printf("请输入m的值");
scanf("%d", &m);
printf("请输入n的值");
scanf("%d", &n);
for (i = 1; ; i++) {
c = m % i;
d = n % i;
if (c == 0 && d == 0)
j = i;
if (m == i || n == i)
break;
}
for (i = 1; ; i++) {
c = m * 1;
d = n * 1;
if (c == d) {
k = c;
break;
}
}
printf("最大公约数为:%d", j);
printf("最小公倍数为:%d", k);
return 0;
}
我这个哪里错了只有m和n值一样的时候才能输出。两个值一但不一样就无反应,就打印不出数值

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2022-10-25 16:16
    关注

    最小公倍数不需要你这么算啊,k=m*n/j;就是了啊

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月2日
  • 已采纳回答 10月25日
  • 创建了问题 10月25日