程序改错(while循环)

img


一道改错题,不知道哪里错了,附上我自己改的

#include 
int main(void)
{
    int m, n, j, k;   /* j表示最小公倍数,k表示最大公约数 */

    scanf("%d%d\n",&m,&n);
    j = m;
    while  (0 !=  j % n) ;  /* 调试时设置断点 */
{     
  j = j + m;
    k = (m * n) / j;
}     /* 调试时设置断点 */
    printf("最小公倍数是%d\n最大公约数是%d\n", j, k);
    return 0;
}



scanf中的\n去掉
while (0 != j % n) ; 后面的分号删掉

分号去掉

img

#include <stdio.h>
int main(void)
{
  int m, n, j, k; /* j表示最小公倍数,k表示最大公约数 */
 
  scanf("%d%d",&m,&n);
  j = m;
  while(0!=j % n) /* 调试时设置断点 */
{ 
  j = j + m;
 k = (m * n) / j;
}  /* 调试时设置断点 */
  printf("最小公倍数是%d\n最大公约数是%d\n", j, k);
  return 0;
}

#include <stdio.h>
int main(void)
{
    int m, n, j, k; /* j表示最小公倍数,k表示最大公约数 */
     
    scanf("%d%d",&m,&n);
    j = m;
    while (j % n != 0) /* 调试时设置断点 */
    {
        j = j + m;
         k = (m * n) / j;
    } /* 调试时设置断点 */
     printf("最小公倍数是%d\n最大公约数是%d\n", j, k);
     return 0;
}