作业帮 > 综合 > 作业

关于两个数求最大公约数,哪里错了?

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/11 04:53:19
关于两个数求最大公约数,哪里错了?
#include "stdio.h"
\x05int gcd(int x,int y)
\x05\x05{
\x05\x05 \x05int min,t;
\x05\x05 \x05if(xy) min=y;
\x05\x05 \x05for(min;min>0;min=min-1);
\x05\x05\x05
\x05\x05 \x05\x05{
\x05\x05 \x05\x05\x05 if(\x05x%min==0&&y%min==0)
\x05\x05\x05\x05\x05\x05 t=min;
\x05\x05\x05\x05\x05
\x05\x05\x05\x05\x05\x05 }
\x05\x05\x05\x05
\x05\x05\x05\x05\x05 return min;
\x05\x05\x05\x05\x05
\x05\x05 \x05\x05
\x05\x05 \x05
\x05\x05}
void main()
\x05{
\x05\x05int x,y,ret;
\x05\x05printf("请输入两个数字以用来判断最大公约数\n");
\x05\x05scanf("%d,%d",&x,&y);
\x05\x05ret=gcd(x,y);
\x05\x05printf("该数最大公约数为:%d\n",ret);
\x05}
关于两个数求最大公约数,哪里错了?
在for循环里找到最大公约数以后没有跳出循环,可以改为:
if(x%min==0&&y%min==0)
{
 t=min;
break;
}
return t;
返回的是t不是min
或者改为:
if(x%min==0&&y%min==0)
return min;
后面的return min去掉.
再问: 你试过了吗?我试了下还是不行啊。。
再答: 我没试,但是应该可以啊,你试完什么情况?
再问: 按照你的第一种方法编译,结果是illegal break...
再答: 我运行了一下,知道哪错了,for语句后面有个分号(;)得去掉,语法有错误。