读书人

新手:求最大公约数,用goto语句不知道错

发布时间: 2012-02-14 19:19:19 作者: rapoo

新手:求最大公约数,用goto语句不知道错在哪,请高手指点
include<stdio.h>
void main()
{
int m,n,k;
scanf("%d%d",&m,&n);
if(m>n)
k=n;
else
k=m;
loop:if(m%k=0&&n%k=0) printf("%d",k);
k--;
goto loop;
}



谢谢!

[解决办法]

C/C++ code
include <stdio.h> void   main() {   int   m,n,k;   scanf("%d%d",&m,&n);   if(m> n)   k=n;   else   k=m;   loop:if(m%k=0&&n%k=0)           printf("%d",k);          else         {           k--;           goto   loop; // 原来那样跳不出来吧          }}
[解决办法]
#include <stdio.h>
void main()
{
int m,n,k;
scanf("%d%d",&m,&n);
if(m> n)
{
k=n;
}
else
{
k=m;
}
loop:if((m%k==0)&&(n%k==0))
{
printf("%d",k);
}
else
{
k--;
goto loop;
}
}

尽量用for,while来做。
#include <stdio.h>
void main()
{
int m,n,k;
scanf("%d%d",&m,&n); //m,n要判断是否是正整数哦
if(m>n)
{
k=n;
}
else
{
k=m;
}
while(k>0)
{
if((m%k==0)&&(n%k==0))
{
   printf("%d\n",k);
    break;
}
else
{
k--;
}
}
}

读书人网 >C++

热点推荐