请大家帮忙看一下这个C程序错在哪了,自己实在看不出来!非常感谢!

来源:百度知道 编辑:UC知道 时间:2024/05/16 04:32:05
写出两个函数,分别求出两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果.
int gb(int x,int y);
int gy(int a,int b);
int gy(int a,int b)
{
int i;
for(i=a;i>=1;i--)
{
if(a%i==0&&b%i==0);
break;
}
return i;
}
int gb(int x,int y)
{
int j;
for(j=x;j<x*y;j++)
{
if(j%x==0&&j%y==0);
break;
}
return j;
}
main()
{
int a,b,gys,gbs;
scanf("%d,%d",&a,&b);
gys=gy(a,b);
gbs=gb(a,b);
printf("gys=%d\n",gys);
printf("gbs=%d\n",gbs);
}
[1]运行时
输入15,5
输出
gys=15
gbs=15
[2]输入5,15
输出
gys=5
gbs=5

如果我没看错的话你那两个if 语句后面的分号要去掉。。。他和break应该是同一句。

不过,,我没学过C。。错了表笑我……
你试试。

if()后面的第一条语句是if的执行体,所以你的执行体是一个空语句
把if后面的分号去掉就好了