| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 971 人关注过本帖, 1 人收藏
标题:一道有关钱的程序,希望有人帮忙编写一下
只看楼主 加入收藏
hackerStar
Rank: 2
来 自:厦门
等 级:禁止访问
帖 子:66
专家分:71
注 册:2009-10-29
结帖率:85.71%
收藏(1)
已结贴  问题点数:5 回复次数:12 
一道有关钱的程序,希望有人帮忙编写一下
编写一个C程序,实现一张一百元转换成十元,五元,两元,一元人民币四十张,并且输出所有可能的情况
搜索更多相关主题的帖子: 编写 
2009-10-29 10:27
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:2 
#include "stdio.h"
void main()
{
    int i,j,k,l;
    for(i=0;i<10;i++)
       for(j=0;j<20;j++)
          for(k=0;k<40;k++)
              for(l=0;l<40;l++)
                  if((i*100+j*5+k*2+l==100)&&(i+j+k+l==40))
                     printf("shi yuan %d,wu yuan %d,liang yuan %d,yi yuan %d\n",i,j,k,l);
     
}
2009-10-29 10:56
rengang2005
Rank: 2
等 级:论坛游民
帖 子:23
专家分:57
注 册:2006-10-20
收藏
得分:2 
//编写一个C程序,实现一张一百元转换成十元,五元,两元,一元人民币四十张,并且输出所有可能的情况
#include <stdio.h>
#include <math.h>
void main()
{
    int ten,five,two,one;
 
        for(ten=0;ten<10;ten++)
           for(five=0;five<20;five++)
              for(two=0;two<50;two++)
                 for(one=0;one<100;one++)
                    if(ten+five+two+one==40&&ten*10+five*5+two*2+one*1==100)
                    printf("%-3d%-3d%-3d%-3d\n",ten,five,two,one);
}
2009-10-29 11:03
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:0 
回复 2楼 m456m654
好像每次做这样的题目都是N个for循环嵌套,然后一个含有逻辑与的if判断,写点别的算法我学习学习

[ 本帖最后由 pgy 于 2009-10-29 13:21 编辑 ]

我可好玩啦...不信你玩玩^_^
2009-10-29 13:12
hackerStar
Rank: 2
来 自:厦门
等 级:禁止访问
帖 子:66
专家分:71
注 册:2009-10-29
收藏
得分:0 
回复 4楼 pgy
有一个贪吃蛇的小游戏编程,不知道你会不会写

-------------->>>>>信仰火之意识,崇拜黑客精神<<<<<--------------------
2009-10-29 13:20
dengjun000
Rank: 2
等 级:论坛游民
帖 子:66
专家分:77
注 册:2009-10-14
收藏
得分:0 
哈哈  是这样的。。
2009-10-29 13:27
蓝色药剂
Rank: 4
等 级:业余侠客
帖 子:43
专家分:204
注 册:2007-11-24
收藏
得分:0 
现学现卖
程序代码:
#include <stdio.h>
int main(void)
{
int i=0,j=0,k=0,m,te=10,f=5,tw=2,o=1,s=100;
while(1)
   {
    m = 40-i-j-k;
    if(i*te+j*f+k*tw+m*o==s&&i+j+k+m==40&&m>0)
      printf("!!! #10=%d #5=%d #2=%d #1=%d\n",i,j,k,m);
    if(i>=s/te)break;
    if(j>=s/f)i++,j=0,k=0;
    if(k>=40)j++,k=0;
    k++;
   }
return 0;
}

2009-10-29 13:51
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:1 
回复 7楼 蓝色药剂
我的百钱买百鸡代码呀,但你算少了一组,十元=1  五元=4  二元=35  一元=0,这组没算到。
程序代码:
#include <stdio.h>
int main(void)
{
int shi=0,wu=0,er=0,yi,SHI=10,WU=5,ER=2,YI=1,s=40,k=0;
while(k++<3)printf("SHI  WU   ER   YI       ");
k=0;
while(1)
   {
    yi=(s-shi-wu-er);
    if(shi*SHI+wu*WU+er*ER+yi==100)
      {
       if(k++%3==0)printf("\n");
       printf("%-5d%-5d%-5d%-5d    ",shi,wu,er,yi);
      }
    if(shi>=100/SHI)break;
    if(wu>=(100-shi*SHI)/WU)shi++,wu=0;
    if(er>=(100-shi*SHI-wu*WU)/ER)wu++,er=0;
    er++;
   }
   printf("\nk=%d\n",k);
return 0;
}
结果输出有47组。

努力—前进—变老—退休—入土
2009-10-29 14:17
fannianshao
Rank: 1
等 级:新手上路
威 望:1
帖 子:7
专家分:6
注 册:2009-10-22
收藏
得分:0 
看看,路过!!!
2009-10-29 15:28
蓝色药剂
Rank: 4
等 级:业余侠客
帖 子:43
专家分:204
注 册:2007-11-24
收藏
得分:0 
回复 8楼 UserYuH
呵呵,零的结果让我滤掉了。。。还是没好好理解程序,以后还要UserYuH多加指点了
2009-10-29 17:56
快速回复:一道有关钱的程序,希望有人帮忙编写一下
数据加载中...
 
   



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

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