换硬币的c语言程序流程图,C语言换分币问题
问题描述
将5元的人民币兑换成1元、5角和1角的硬币,共有多少种不同的兑换方法。
问题分析
根据该问题的描述,可将该问题抽象为一个不定方程。
设变量x、y和z分别代表兑换的1元、5角和1角的硬币所具有的钱数(角),则由题目的要求,可得到方程:
x+y+z=50
其中,x为兑换的1元硬币钱数,其可能的取值为 {0,10,20,30,40,50},y为兑换的5角硬币钱数,其可能的取值为 {0,5,10,15,20,25,30,35,40,45,50},z为兑换的1角硬币钱数,其可能的取值为 {0,1,...,50}。
算法设计
在问题分析中,我们得到了一个不定方程 x+y+z=50,显然该不定方程会有多组解。根据题意可知x、y和z的可能取值,将它们所有可能取值的组合代入方程中,能使该方程成立的那些解即为该问题的解。
为实现该功能,需要使用3个嵌套的for循环语句。
下面是完整的代码:
#include
int main()
{
int x, y, z, count=1;
printf("可能的兑换方法如下:\n");
for( x=0; x<=50; x+=10 ) /*x为1元硬币钱数,其取值为0,10,20,30,40,50*/
for( y=0; y<=50-x; y+=5 ) /*y为5角硬币钱数,其取值为0,5,10,15,20,25,30,35,40,,45,50*/
for( z=0; z<=50-x-y; z++) /*z为1角硬币钱数,其取值为0,1,...50*/
if(x+y+z==50)
{
/*输出时,每行最多三种情况*/
printf(count%3 ? "%d: 10*%d+5*%d+1*%d\t" : "%d:10*%d+5*%d+1*%d\n", count, x/10, y/5, z);
count++;
}
return 0;
}
运行结果:
可能的兑换方法如下:
1: 10*0+5*0+1*50 2: 10*0+5*1+1*45 3:10*0+5*2+1*40
4: 10*0+5*3+1*35 5: 10*0+5*4+1*30 6:10*0+5*5+1*25
7: 10*0+5*6+1*20 8: 10*0+5*7+1*15 9:10*0+5*8+1*10
10: 10*0+5*9+1*5 11: 10*0+5*10+1*0 12:10*1+5*0+1*40
13: 10*1+5*1+1*35 14: 10*1+5*2+1*30 15:10*1+5*3+1*25
16: 10*1+5*4+1*20 17: 10*1+5*5+1*15 18:10*1+5*6+1*10
19: 10*1+5*7+1*5 20: 10*1+5*8+1*0 21:10*2+5*0+1*30
22: 10*2+5*1+1*25 23: 10*2+5*2+1*20 24:10*2+5*3+1*15
25: 10*2+5*4+1*10 26: 10*2+5*5+1*5 27:10*2+5*6+1*0
28: 10*3+5*0+1*20 29: 10*3+5*1+1*15 30:10*3+5*2+1*10
31: 10*3+5*3+1*5 32: 10*3+5*4+1*0 33:10*4+5*0+1*10
34: 10*4+5*1+1*5 35: 10*4+5*2+1*0 36:10*5+5*0+1*0
换硬币的c语言程序流程图,C语言换分币问题相关推荐
- 习题4-5 换硬币 (20分) 将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
习题4-5 换硬币 (20分) 将一笔零钱换成5分.2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额x∈(8,100). 输出格式: 要求按5分 ...
- 习题4-5 换硬币 (20分) 将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
输入格式: 输入在一行中给出待换的零钱数额x∈(8,100). 输出格式: 要求按5分.2分和1分硬币的数量依次从大到小的顺序,输出各种换法.每行输出一种换法,格式为:"fen5:5分硬币数 ...
- 猜数游戏c语言程序流程图,C语言程序设计之猜数游戏.ppt
C语言程序设计之猜数游戏 编程人员演示 C语言程序设计之猜数游戏 --软工一班 第二小组 程序功能简介 程序思路导引 程序流程图 程序N-S图 组员名单及其具体分工 end page 程序功能简介(1 ...
- 猜数游戏c语言程序流程图,C语言猜数游戏代码
写在前面:本代码使用了随机数+循环体+时间戳等初等代码,仅供小白交流,参考!#include #include #include #include int menu() ...
- C语言_习题4-5 换硬币
习题4-5 换硬币 (20 分) 将一笔零钱换成5分.2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额x∈(8,100). 输出格式: 要求按5 ...
- 醉林疯的PTA 7-2 换硬币 (20分)
7-2 换硬币 (20分) 将一笔零钱换成5分.2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额x∈(8,100). 输出格式: 要求按5分.2 ...
- 习题4-5 换硬币 (20分)
习题4-5 换硬币 (20分) 将一笔零钱换成5分.2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额x∈(8,100). 输出格式: 要求按5分 ...
- 习题4-5 换硬币 将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
习题4-5 换硬币 (20分) 将一笔零钱换成5分.2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额x∈(8,100). 输出格式: 要求按5分 ...
- 浙江大学 PTA 程序 第四部分 给定精度的简单交错序列部分和 数字游戏 e的近似值 最小值 统计素数并求和 奇数和 幂级数展开的部分和 分数序列前N项和 特殊a串数列求和 换硬币 水仙花数 最大公约
练习4-3 求给定精度的简单交错序列部分和 (15 分) 本题要求编写程序,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... 直到最后一项的绝对值不大于给定精度eps. 输入格式: ...
最新文章
- Java 构造方法与成员方法的区别
- 分布式事务,阿里为什么钟爱TCC
- 后台服务显示右下角弹窗 -- system权限创建用户权限进程
- 文献记录(part11)--Biclustering of Expression Data
- jvm崩溃的原因_JVM崩溃时:如何调查最严重错误的根本原因
- 汉字转拼音Pinyin4j工具(C#、Java都可用)
- 【JZOJ4910】【NOIP2017模拟12.3】子串
- 前端笔记之Vue(五)TodoList实战拆分store跨域练习代理跨域
- [dpdk] 熟悉SDK与初步使用 (二)(skeleton源码分析)
- 3.1 数值分析: 迭代法的基本思想
- 如何破解HIT的孤岛效应,一起关于患者主索引的案例分享
- 蓝宝石rx580怎么超频_【蓝宝石 RX580 8G D5 超白金 OC 显卡使用总结】游戏|界面|按钮|频率_摘要频道_什么值得买...
- 随机森林系列(一)——随机森林分类算法原理推导
- Mbed OS STM32F429 中断方式接收 ADS1256
- 实习总结与收获(2021.6.7-2021.8.27)
- html怎么写海贼王旗帜图片,海贼王精美旗帜套图
- 使用opencv读取rtsp流的图片帧进行目标检测,并将处理好的图像推到rtsp服务器上
- 众数和中位数的应用题_什么是众数和中位数
- LCD LED TN IPS等常见的显示器技术名称
- #Visio#教会你怎么安装和使用 Visio 哦 ~ ~