| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 333 人关注过本帖
标题:求输出问题,请大家帮帮忙。
只看楼主 加入收藏
silence小D
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-10-12
收藏
 问题点数:0 回复次数:3 
求输出问题,请大家帮帮忙。
#include<stdio.h>
main()
{
    int i=1,a,b,k;
    printf("Please input the value: ");
    scanf("%d%d",&a,&b);
    for(;i<=a;i++)
        if(a%i==0&&b%i==0)
            k=i;
        printf("k=%d\n",k);
}
这是一个求两个数的最大公因数的小程序,如果我输入12和24会输出12,可是程序并不知道我要求的是最大公因数,条件是a%i==0&&b%i==0 很显然 2 4 6 12都符合条件,为什么k=i的值得只输出12?求解。。。
搜索更多相关主题的帖子: 输出 
2010-10-21 00:34
yuzaijianghu
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-10-21
收藏
得分:0 
这是一个循环体,,只要是I<=a循环就不会结束,,之所以等于12是因为,循环结束了,,i=a了!!还是你得判断a,b的大小
2010-10-21 01:57
yuzaijianghu
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-10-21
收藏
得分:0 
#include<stdio.h>
main()
{
    int i=1,a,b,k;
    printf("Please input the value: ");
    scanf("%d%d",&a,&b);
    if(a>b)
    a=b;
    for(;i<=a;i++)
        if(a%i==0&&b%i==0)
            k=i;
        printf("k=%d\n",k);
}
2010-10-21 01:59
silence小D
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-10-12
收藏
得分:0 
#include<stdio.h>
main()
{
    int i=2,a,b,k;
    printf("Please input the value: ");
    scanf("%d%d",&a,&b);
    for(;i<=a;i++)
        if(a%i==0&&b%i==0)
        {
            k=i;
        printf("k=%d\n",k);
        }
}
试试,不用判断a,b的大小,把输出括起来就可以把其他符合条件的输出,如果不括起来满足条件以后i的值还是小于等于a的,所以再次返回循环执行,一直到最后循环结束才把i的值赋给你k,所以只输出了最大值。
2010-10-21 02:14
快速回复:求输出问题,请大家帮帮忙。
数据加载中...
 
   



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

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