标题:本人愚钝,问一个考题!
只看楼主
wubihai7
Rank: 2
等 级:论坛游民
帖 子:31
专家分:13
注 册:2010-3-4
结帖率:66.67%
已结贴  问题点数:5 回复次数:11 
本人愚钝,问一个考题!
小明去银行存钱,拿了一堆硬币。已知1角的硬币厚度为1.8mm ,5 角的硬币厚1.5mm ,1元的硬币为2.0mm 。小明将1 角的硬币放成一摞,将5 角的硬币硬币放成一摞,将1元的硬币放成一摞,发现3 摞硬币一样高。银行正好把这些硬币换成若干张面值为10 元的纸币。问小明至少带了多少钱的硬币(元为单位),每种面值的硬币有多少个?  
要求输出格式为: 1 角的数量,5 角的数量,1 元的数量,总金额。(例如:20,30,40,50)
说明在结果中只输出各个对应的数字即可。#include<stdio.h>
void main()
{
  int yijiao;
  int wujiao;
  int yiyuan;
  int sum;
  for(yiyuan=0;yiyuan<100;yiyuan++)
  {
    for(wujiao=0;wujiao<100;wujiao++)
    {
      for(yijiao=0;yijiao<100;yijiao++)
      {
        sum=yijiao+wujiao*5+yiyuan*10;
   
  if((sum>=100)&&(sum%10==0)&&(18*yijiao==15*wujiao)&&(15*wujiao==20*yiyuan)
        {
          printf("%d,%d,%d,%d\n",yijiao,wujiao,yiyuan,sum/10);
          break;
        }
      }
    }
  }
}
这个问题不难写,而且有很多方法,就是想知道标注红的地方,为什么 yiyuan<100;wujiao<100;yijiao<100是如何得出来的
搜索更多相关主题的帖子: 纸币 面值 银行 
2011-04-29 19:08
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
得分:1 
以最小的为准控制循环  100角等于10元吧

                                         
===========深入<----------------->浅出============
2011-04-29 19:13
kwxx
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:309
专家分:913
注 册:2009-5-11
得分:1 
其中
if((sum>=100)&&(sum%10==0)&&(18*yijiao==15*wujiao)&&(15*wujiao==20*yiyuan)
最后的括号是中文状态下的括号,删除它,再加两个英文状态下的括号。(本身就缺了一个。)
2011-04-29 19:46
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
得分:1 
float a,b,c;
for(a=1;a<=500;a++)
for(b=1;b<=500;b++)
for(c=1;c<=500;c++)
{if(1.8*a==1.5*b)
if(1.5*b==2.0*c)
{int s=(int)((0.1*a+0.5*b+c)/10);
if((0.1*a+0.5*b+c)-s*10.0)
printf("%d,%d,%d,%d\n",(int)a,(int)b,(int)c,(int)(0.1*a+0.5*b+c));
}}getch();

[ 本帖最后由 hjywyj 于 2011-4-29 20:00 编辑 ]
2011-04-29 19:48
_xiong_mao_1
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:49
专家分:102
注 册:2010-12-6
得分:1 
题目求的是至少带多少额,循环条件100是为了保证能找到吧··
2011-04-30 11:04
饭桶
Rank: 6Rank: 6
等 级:侠之大者
帖 子:165
专家分:422
注 册:2011-4-5
得分:1 
#include "stdio.h"
main()
{ int yiyuan,wujiao,yijiao;
  for(yiyuan=1;;yiyuan++)
      { if(20*yiyuan%15==0&&20*yiyuan%18==0)
           {wujiao=20*yiyuan/15;
            yijiao=20*yiyuan/18;
            if((yiyuan*10+wujiao*5+yijiao)%100==0)
              { printf("一元     五角     一角   sum(元)\n");
                printf("  %d       %d       %d    %d ",yiyuan,wujiao,yijiao,(yiyuan*10+wujiao*5+yijiao)/10);
                break;
              }
           }
        else
           continue;

      }
  
}
结果:
一元     五角     一角   sum(元)
  45       60       50    80
 不知道对不对?

人得一生得奋斗!
2011-04-30 11:50
逍遥乖乖
Rank: 2
等 级:论坛游民
帖 子:44
专家分:56
注 册:2011-4-8
得分:1 
按我的理解,因为是若干张10元,所以肯定没满100元,所以才会按小于100循环
2011-04-30 13:08
赤那
Rank: 3Rank: 3
来 自:广东
等 级:论坛游侠
威 望:1
帖 子:127
专家分:178
注 册:2010-3-1
得分:1 
正解
2011-04-30 15:22
wubihai7
Rank: 2
等 级:论坛游民
帖 子:31
专家分:13
注 册:2010-3-4
得分:0 
感觉有点在钻牛角尖了1
2011-04-30 16:01
smldkj
Rank: 1
等 级:新手上路
帖 子:2
专家分:1
注 册:2011-4-20
得分:1 
程序编的貌似不对吧。。。
你的运行有多种结果,不过好像如果每个循环控制在100以内的话,只有一组结果 50       60      45   80
不知道我写的对不对。。。
2011-04-30 20:53



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




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

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