快捷导航

循环当中会丢掉一个值

#includeint main(){ int a,b,i; scanf("%d/%d",&a,&b); if(b!=0) for(i=2;i

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

你if语句没有加大括号,导致只执行了a/=i就返回循环了,执行完循环之后才执行a/=i后面的语句。
回复

使用道具 举报

改成这样:
#include
int main()
{
int a,b,i;
scanf("%d/%d",&a,&b);
if(b!=0)
         for(i=2;ib?b:a);i++)
        {
                 if((a%i==0)&&(b%i==0))
                 {
                        a/=i;
                        b/=i;
                        i--;
                 }
}
printf("%d/%d\n",a,b);
}
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP