| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1927 人关注过本帖
标题:一个简单的程序,但是为什么输出的不是我想要的值,请指教
只看楼主 加入收藏
卜算子
Rank: 1
等 级:新手上路
帖 子:86
专家分:8
注 册:2016-9-18
结帖率:82.35%
收藏
已结贴  问题点数:20 回复次数:10 
一个简单的程序,但是为什么输出的不是我想要的值,请指教
#include <stdio.h>

void ss(int e,int flag,int h,int a,int b,int c,int d)
{
   
    while(flag)
    {
        e+=4;
    while(flag)
    {
        a+=5;
        d=e+a/5;
        c=d+e/4;
        if(a%3)
            continue;
        if(c%2)
            continue;
        if((b+c/2)<a)
            break;
        if((b+c/2)==a)
            flag=0;
    }
    }
    h=2*a+b;
    printf("a=%d,b=%d,c=%d,d=%d,e=%d,h=%d",a,b,c,d,e,h);
}

main()
{
    int h,a,b,c,d,e,flag;
    flag=1;
    h=0;
    a=0;
    b=0;
    c=0;
    d=0;
    ss(h,a,b,c,d,e,flag);
    getchar();
}

   

[此贴子已经被作者于2016-11-27 16:21编辑过]

搜索更多相关主题的帖子: continue include 
2016-11-27 15:46
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:0 
void ss(int h,int a,int b,int c,int d,int e,int flag)实参和形参ss(h,a,b,c,d,e,flag);

 if((b+c/2)<a)
            break;
        if((b+c/2)<a)
            flag=0;    //这两个if什么意思呢,想要写个死循环没这么麻烦。
2016-11-27 16:25
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
你想要的是什么?
2016-11-27 16:25
卜算子
Rank: 1
等 级:新手上路
帖 子:86
专家分:8
注 册:2016-9-18
收藏
得分:0 
回复 2楼 linlulu001
第一个IF是当条件成立的时候跳出本次循环,继续第一个循环,也就是e+=5,然后继续进行。
第二个if是当条件成立把FLAG赋值为0,使其跳出两个WHILE循环然后输出

岂曰无衣,与子同袍!
2016-11-27 16:29
卜算子
Rank: 1
等 级:新手上路
帖 子:86
专家分:8
注 册:2016-9-18
收藏
得分:0 
回复 2楼 linlulu001
五家共井问题

岂曰无衣,与子同袍!
2016-11-27 16:30
卜算子
Rank: 1
等 级:新手上路
帖 子:86
专家分:8
注 册:2016-9-18
收藏
得分:0 
回复 3楼 吹水佬
这是五家贡井问题,想要得出a,b,c,d,e,h//代表甲乙丙丁戊的绳子的长,h代表井深

岂曰无衣,与子同袍!
2016-11-27 16:31
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:0 
你还是上题目吧


[此贴子已经被作者于2016-11-27 16:43编辑过]

2016-11-27 16:39
卜算子
Rank: 1
等 级:新手上路
帖 子:86
专家分:8
注 册:2016-9-18
收藏
得分:0 
回复 7楼 linlulu001
五家共井”问题和“鸡兔同笼”问题一样,都是一个著名的问题。具体的题目如下:现在有五家共用一口井,甲、乙、丙、丁、戌五家各有一条绳子汲水(下面用文字表示每一家的绳子):甲×2+乙=井深,乙×3+丙=井深,丙×4+丁=井深,丁×5+戌=井深,戌×6+甲=井深,求甲、乙、丙、丁、戌各家绳子的长度和井深。

岂曰无衣,与子同袍!
2016-11-27 16:45
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:20 
#include <stdio.h>

int main()
{
    int x=0,y;
    while(++x)
    {
        if(191*x%265)  continue;
        else break;
    }
    y=191*x/265;
    printf("甲=%d,乙=%d,丙=%d,丁=%d,戊=%d,井深=%d\n",x,y,(49*x+25*y)/120,(11*x+5*y)/30,(x+y)/6,2*x+y);
    return 0;
}
2016-11-27 17:29
卜算子
Rank: 1
等 级:新手上路
帖 子:86
专家分:8
注 册:2016-9-18
收藏
得分:0 
回复 9楼 linlulu001
好厉害...我做的时候是让电脑穷举,还是懒了...学到了,谢谢

岂曰无衣,与子同袍!
2016-11-27 20:50
快速回复:一个简单的程序,但是为什么输出的不是我想要的值,请指教
数据加载中...
 
   



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

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