int gjs(int m,int n) { int p,t; if(m>n) {p=m; m=n; n=p; } while(n!=0) { t=m%n; m=n; n=t; } return n
int gjs(int m,int n)
{
int p,t;
if(m>n)
{p=m;
m=n;
n=p;
}
while(n!=0)
{
t=m%n;
m=n;
n=t;
}
return n;
}
#include
#include
int main()
{
int a;
int b;
scanf("%d%d",&a,&b);
printf("%d\n",gjs(a,b));
return 0;
}
一直输出时0;为什么?
me知道了
人气:251 ℃ 时间:2020-09-20 14:17:26
解答
明显的错误:看你的WHILE循环,要是n不是0它也出不来啊!结果你返回了一个必为0的n结果当然为0了.
while(n%m!=0)
{
t=n%m;
n=m;
m=t;
}
return m;手机答的不能调试,应该对的.;-)
推荐
- How often do you get this magazine?
- 初一英语50词作文两篇
- 英语完形填空,看不懂
- 表示集中注意力看的近义词
- 夏天种柳树能不能活,什么苗成活率高谢谢了,
- 已知二维随机变量的概率密度,求边缘概率密度,
- 小明做一道加法题时,把第二个加数45看成了54,结果算出来的和是86,正确答案是多少?
- 雅思大小作文的字数都够了,然后大作文有点感觉偏题,这大概能的多少分呢?.急.
猜你喜欢