首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-02-14 
新手:求最大公约数,用goto语句不知道错在哪,请高手指点includestdio.hvoid main(){int m,n,kscanf(%d%

新手:求最大公约数,用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--;
}


热点排行