主题:本人菜鸟,哪位大侠帮我看看这个程序
#include "stdio.h"
void main()
{
int hcf(int,int);
int lcd(int,int,int);
int u,v,h,l;
scanf("%d,%d",&u,&v);
h=hcf(u,v);
printf("H.C.F=%d\n",h);
l=lcd(u,v,h);
printf("L.C.D=%d\n",l);
}
int hcf(int u,int v)
{int t,r;
if (v>u)
{t=u;u=v;v=t;}
while((r=u%v)!=0)
{u=v;
v=r;}
return(v);
}
int lcd(int u,int v,int h)
{
return(u*v/h);
}
这个是用辗转相除法求俩整数的最大公约数和最小公倍数的程序,但是运行的时候有问题,比如当我敲入“3,6(回车)”后,显示的结果是“H.C.F=1(换行)L.C.D=12635304”我检查了好多遍实在查不出原因,希望大侠能帮我指出,不甚感激
void main()
{
int hcf(int,int);
int lcd(int,int,int);
int u,v,h,l;
scanf("%d,%d",&u,&v);
h=hcf(u,v);
printf("H.C.F=%d\n",h);
l=lcd(u,v,h);
printf("L.C.D=%d\n",l);
}
int hcf(int u,int v)
{int t,r;
if (v>u)
{t=u;u=v;v=t;}
while((r=u%v)!=0)
{u=v;
v=r;}
return(v);
}
int lcd(int u,int v,int h)
{
return(u*v/h);
}
这个是用辗转相除法求俩整数的最大公约数和最小公倍数的程序,但是运行的时候有问题,比如当我敲入“3,6(回车)”后,显示的结果是“H.C.F=1(换行)L.C.D=12635304”我检查了好多遍实在查不出原因,希望大侠能帮我指出,不甚感激