c语言问题:求两个数最大公约数和最小公倍数

来源:百度知道 编辑:UC知道 时间:2024/06/20 10:02:46
我输入代码,老是提示有1个错误,多试几次还要死机;
以下是我的代码:
#include "stdio.h'
main()
{
int x,y,i,gy,gb,m;
int s=1;
printf("输入两个数:\n");
scanf("%d",&x);
scanf("%d",&y);
do
{
if(x>y)
{
m=y;
}
else
{
m=x;
}
for(i=2;i<=m;i++)
{
if(x%i==0&&y%i==0)
{
x=x/i;
y=y/i;
s=s*i;
break;
}
}
}while(i<m);

gy=s;
gb=s*x*y;
printf("公约数为%d\n",gy);
printf("公倍数为%d\n",gb);
}

#include "stdio.h"//后面为双引号,不是单引号
main()
{
int x,y,i,gy,gb,m;
int s=1;
printf("输入两个数:\n");
scanf("%d",&x);
scanf("%d",&y);
do
{
if(x>y)
{
m=y;
}
else
{
m=x;
}
for(i=2;i<=m;i++)
{
if(x%i==0&&y%i==0)
{
x=x/i;
y=y/i;
s=s*i;
break;
}
}
}while(i<m);

gy=s;
gb=s*x*y;
printf("公约数为%d\n",gy);
printf("公倍数为%d\n",gb);
}