题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
可以正确输出的代码:
#include <stdio.h>
main()
{
int n1,n2,temp,pro,d;
printf("Please enter two number:");
scanf("%d%d",&n1,&n2);
pro = n1 * n2;
if(n1 <= n2)
{
temp = n1;
n1 = n2;
n2 = temp;
}
while(n2 != 0)
{
d = n1 % n2;
n1 = n2;
n2 = d;
}
printf("The divisor is %d,and the muitiple is %d.\n",n1,pro / n1);
return 0;
}
出错的代码:
#include <stdio.h>
main()
{
int n1,n2,temp,pro,d;
printf("Please enter two number:");
scanf("%d%d",&n1,&n2);
pro = n1 * n2;
if(n1 <= n2)
{
temp = n1;
n1 = n2;
n2 = temp;
}
while(d != 0)
{
d = n1 % n2;
n1 = n2;
n2 = d;
}
printf("The divisor is %d,and the muitiple is %d.\n",n1,pro / n1);
return 0;
}
思考:为啥第二种代码会出错呢?
网友评论