标题:求两个数的最大公约数,不知怎么错的,求解,感谢。
只看楼主
smokedog
Rank: 1
来 自:安徽
等 级:新手上路
帖 子:91
专家分:4
注 册:2018-11-30
结帖率:91.67%
已结贴  问题点数:10 回复次数:3 
求两个数的最大公约数,不知怎么错的,求解,感谢。
#include <stdio.h>

题意是求两个数的做大公约数
,但是输出结果却成了b的初始值。



int main()
{                                                  
    int a,b;
    a=12; b=18;
    int t;
   
    while ( t!=0) {
        t=a%b;
        a=b;
        b=t;   
    }
    printf("gcd=%d", b);
    return 0;
}

搜索更多相关主题的帖子: 两个数 最大公约数 int main printf 
2018-12-01 11:27
李少iii
Rank: 4
来 自:KUNMING
等 级:业余侠客
威 望:2
帖 子:67
专家分:245
注 册:2018-10-4
得分:10 
#include <stdio.h>

题意是求两个数的做大公约数
,但是输出结果却成了b的初始值。



int main()
{                                                  
    int a,b;
    a=12; b=18;
    int t;
   
    while ( b%a!=0) {  
        t=b%a;         //这儿有问题,若a%b取余t=等于0
        a=b;           还有就是循环有毛病,这样改就好了
        b=t;   
    }
    printf("gcd=%d", b);
    return 0;
}

我不曾拥有梦想,但我坚信我有未来……
2018-12-01 11:46
smokedog
Rank: 1
来 自:安徽
等 级:新手上路
帖 子:91
专家分:4
注 册:2018-11-30
得分:0 
本帖方法已找到while的条件换为b!=o,最后输出的也应是a的值。第一次发帖有点激动。

我是胡言,喜欢乱语。
2018-12-01 11:53
smokedog
Rank: 1
来 自:安徽
等 级:新手上路
帖 子:91
专家分:4
注 册:2018-11-30
得分:0 
回复 2楼 李少iii
多谢兄台,手写了一下,循环两次结果就出来了,非常感谢。

我是胡言,喜欢乱语。
2018-12-01 12:02



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




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

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