标题:多了一个printf(绿色的)输出中有正确答案,少了就不对了
只看楼主
z1443043531
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2015-1-23
结帖率:53.85%
已结贴  问题点数:20 回复次数:5 
多了一个printf(绿色的)输出中有正确答案,少了就不对了
#include <stdio.h>


int main()
{
    int a,b,n,i,d,f;
    int abc(int q,int w);
    while(scanf("%d%d%d",&a,&b,&n)!=EOF)
    {if(a>n)
    printf("1");
    else if(b>n)
        printf("0");
    for(i=1;;i++)
    {

        if(i%2==1)
            f=a;
        else
            f=b;
        n-=abc(f,n);
        printf("%d",n);
        if(n<0)
            break;
    }

        if(f==a)
        printf("1");
        else if(f==b)
            printf("0");
    }
    return 0;
}

int abc(int q,int w)
{
    int c,i,d,e;
    if(q<w)
       {
            c=q;e=w;}
    else
        {c=w;e=q;}
    for(i=2;i<=c;i++)
    {
        if(q%i==0&&w%i==0)
        {
            d=1;
            break;
        }
    }
    if(q==0||w==0)
        return e;
    else if(d==1)
    {
        return i;
    }
    else
        return 1;
}
搜索更多相关主题的帖子: 正确答案 include 
2015-01-23 13:07
z1443043531
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2015-1-23
得分:0 
输入3 5 9 需要输出0,多了那个printf最后一个是0,但是去了输出的却是1
2015-01-23 13:08
yahwei
Rank: 7Rank: 7Rank: 7
来 自:湖~
等 级:黑侠
威 望:3
帖 子:145
专家分:644
注 册:2011-11-10
得分:5 
你的代码要完成什么?

[qq]949654600[/qq]
2015-01-24 09:57
砖家的谎言
Rank: 12Rank: 12Rank: 12
等 级:禁止访问
威 望:30
帖 子:693
专家分:3898
注 册:2013-12-6
得分:5 
什么少了?

我不是砖家,要努力成为砖家。
2015-01-24 10:03
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:5 
少了什么就不对了
2015-01-24 11:16
young
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:223
专家分:160
注 册:2004-9-5
得分:5 
while(scanf("%d%d%d",&a,&b,&n)!=EOF), 一直在这里死循环
改成scanf("%d%d%d",&a,&b,&n);就能输出正确结果了,虽然我不知道你加while是什么意思。

如果你爱C语言,请你爱指针; 如果你爱指针,请你爱指针的指针;
2015-01-24 13:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-441385-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024813 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved