| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1373 人关注过本帖
标题:编写了换钞票的程序,为什么没有输出呢? 哪位大侠帮忙看看。
只看楼主 加入收藏
powerfrank
Rank: 2
等 级:论坛游民
帖 子:31
专家分:37
注 册:2018-4-25
结帖率:80%
收藏
已结贴  问题点数:2 回复次数:2 
编写了换钞票的程序,为什么没有输出呢? 哪位大侠帮忙看看。
//要将一张100元的大钞票换成等值的10元、5元、2元、一元的小钞票。要求换成40张小钞票、每种至少各一张。编程找出所有可能的换法。

#include <stdio.h>
#include <stdlib.h>

#define SHI 10
#define WU 5
#define ER 2
#define YI 1
#define BAI 100
#define CPS 40

int main ( void )
{
    int shi = 1 , wu = 1 , er = 1 , yi = 1 ;

    for ( yi = 1 ; yi <= ( CPS - shi - wu - er ) ; yi ++ )
    {
        for ( er = 1 ; er <= ( CPS - shi - wu - yi ) ; er ++ )
        {
            for ( wu = 1 ; wu <= ( CPS - shi - er - yi ) ; wu ++ )
            {
                shi = CPS - yi - er - wu ;
                if ( SHI * shi + WU * wu + ER * er + YI * yi == BAI )
                {
                    printf ( "10元、5元、2元、一元的小钞票各有:%d张、%d张、%d张和%d张。\n", shi , wu , er , yi ) ;
                }
                shi = 1 ;               
            }
        }
    }

    system ("pause") ;
    return 0 ;
}
搜索更多相关主题的帖子: 编写 输出 define int for 
2018-11-15 09:22
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:2 
条件错了
 ( CPS - shi - wu - er )
这里 shi wu er 还没重置
都是最大值

你还不熟悉不要做这种无关紧要的优化
简单粗暴的
 < CPS 就可以了

https://zh.
2018-11-15 09:39
powerfrank
Rank: 2
等 级:论坛游民
帖 子:31
专家分:37
注 册:2018-4-25
收藏
得分:0 
回复 2楼 lin5161678
太谢谢了。一点破就明白了。谢谢。

我改了下就可以了。

//要将一张100元的大钞票换成等值的10元、5元、2元、一元的小钞票。要求换成40张小钞票、每种至少各一张。编程找出所有可能的换法。

#include <stdio.h>
#include <stdlib.h>

#define SHI 10
#define WU 5
#define ER 2
#define YI 1
#define BAI 100
#define CPS 40

int main ( void )
{
    int shi = 1 , wu = 1 , er = 1 , yi = 1 ;

    for ( yi = 1 ; yi <= ( CPS - shi - wu - er ) ; yi ++ )
    {
        for ( er = 1 ; er <= ( CPS - shi - wu - yi ) ; er ++ )
        {
            for ( wu = 1 ; wu <= ( CPS - shi - er - yi ) ; wu ++ )
            {
                shi = CPS - yi - er - wu ;
                if ( SHI * shi + WU * wu + ER * er + YI * yi == BAI )
                {
                    printf ( "10元、5元、2元、一元的小钞票各有:%d张、%d张、%d张和%d张。\n", shi , wu , er , yi ) ;
                }
                shi = 1 ;               
            }
            wu = 1 ;
        }
        er = 1 ;
    }

    system ("pause") ;
    return 0 ;
}
2018-11-15 09:48
快速回复:编写了换钞票的程序,为什么没有输出呢? 哪位大侠帮忙看看。
数据加载中...
 
   



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

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