




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学 院班 级学 号姓 名摘要本文选择生活常遇到的两个小问题,通过C语言设计编程得到最终解题结果。与平时的苦思冥想相比,运用计算机求解显得更加简单实用,笔者体会到计算机是解决生活实际问题的一种重要方式,在当今社会计算机更显示出其重要的作用和强大的功能。我选择的试题为难度系数为8 的两道题分别是11题和29题,分别存款问题和换零钱问题。我经过编程并进行了拓展,增加了与用户交流的能力。使程序能够更好地帮助人们更好地解决生活中的一些小问题。程序简单实用,用户只需按照提示输入所需数据即可。由于能力所限,程序较为简单。目录1 摘要31.1 设计题目31.2 设计内容31.3 开发工具31.4 应用平台32 详细设计32.1 程序结构32.2 主要功能32.3 函数实现52.4 开发日志73 程序调试及运行83.1 程序运行结果83.2 程序使用说明103.3 程序开发总结104 附件(源程序)101 摘要1.1 设计题目1、实际生活存款问题;2、换分币问题;1.2 设计内容1、实际生活存款问题:假设一银行零存整取的月利率为0.63%。现在某人手中有一笔钱,他打算在今后的五年中的年底取出1000元,到第5年刚好取完。请算出他存钱时存款多少?2、换零钱:用1元人民币换成1分、2分、5分的硬币,共有多少种方案?1.3 开发工具编译器:Visual Basic C + 6.0;1.4 应用平台Windows XP;2 详细设计2.1 程序结构1、存款问题:通过循环控制求出各参量,示意图如下:(以整存5年,每年取1000元为例)输入存款的年数5;for(i=1;i=5;i+)i=1;第5年初存款额(第4年剩余存款);i=2;第4年初存款额(第3年剩余存款);i=3;第3年初存款额(第2年剩余存款);i=4;第2年初存款额(第1年剩余存款);i=5;第1年初存款额;即最初存款;2、换零钱问题:通过三重循环,结合判断条件求出各目标参量(以1元为例)for(a=0;a=100;a+)一重循环;for(b=0;b50;b+)二重循环;for(c=0;c=20;c+)三重循环;判断a*1+b*2+c*5=100;假 真继续循环;输出并计数2.2 主要功能1、存款问题:该程序可以求得整存零取的最初存款额。(以整存5年零取1000元为例)程序为了计算出各年初的剩余存款额,从而清晰地观察到各年初存款额的变化,进而通过倒推法确定最初存款额。本程序采用简单的for循环语句,循环条件变量i从1开始,条件为=5,增加的步长值为1,;由数学知识可知,年初的剩余存款额为1000/(1+0.0063*12);从而求出各目标量。2、换零钱问题:该程序可以求出将1元钱换成1分、2分、5分的方案及其个数;程序为了使各种面值的硬币不断变换数量进而与其它两种硬币数量组合使得总和为输入值(元为单位)n*100;所以程序设计了三个循环变量a,b,c分别代表1分、2分、5分的个数;运用三重循环模拟三种面值的硬币数量发生变化,在面值和为100的限制条件下,求得各种情况。2.3 函数实现1. 实际生活存款问题:#include stdio.hvoid main()double fund; /*定义变量,用以存放存款数*/int I,year;printf(请输入每年的取款金额(元,两位小数)和存款年数:);/*用户输入存款金额和年数*/ scanf(%lf %d,&fund,&year);fund=fund/(1+12*0.0063); /*求出第year年初的剩余存款额*/for(i=1;i=year;i+)fund=(fund+1000)/(1+12*0.0063); /*通过循环分别求出各年初的剩余存款额并进行输出*/if(year-i!=0)printf(第%d年的剩余存款为:%.2lfn,year-i,fund);/*人民币只需精确到小数点后两位即可*/else printf(年初存款为:%.2lfn,fund);printf(以上为各年初的剩余存款(保留两位小数)。n);/*输出数值*/printf(存钱时应存%.2lf元。n,fund);2. 换零钱问题:#include stdio.hvoid main()int a,b,c,n=0; /*定义变量,n用来存放方案个数*/double m;printf(请输入要兑换的钱数(元,=10且保留两位小数):);/*用户输入*/ scanf(%lf,&m);printf(满足条件时,1分、2分、5分分别对应的个数为:);printf(n);for(a=0;a=m*100;a+) /*外层循环代表1分可能出现情况*/for (b=0;b=m*50;b+) /*中层循环代表2分可能出现情况*/ for(c=0;c=m*20;c+) /*内层循环代表5分可能出现情况*/if(a*1+b*2+c*5=m*100) /*结果成立的条件*/ printf(%d %d %d;n,a,b,c); /*输出满足条件的情况*/n+; /*存放方案个数*/printf(总计方案种数:%dn,n); /*输出*/2.4 开发日志1、第一个程序编写得很成功,心情很舒畅;2、第二个程序在显示时出现一些问题,无法完全显示符合条件的结果,还以为是程序错了,将程序中的20、50分别改小,再编译结果和预期很吻合,证明程序没有错误,但还是要找老师问一下,弄清楚;3、发现自己的程序不能和用户互动,有点遗憾,准备问一下老师能不能改进或者拓展;4、经搜集信息得知可以自由发挥,故对程序做进一步修改,增强与用户交流能力;3 程序调试及运行3.1 程序运行结果1、整存零取问题:(以每年取出1000元为例)2、换零钱问题:(以1元为例)3.2 程序使用说明1、操作简单,用户只需按提示输入所需项即可得到结果;2、同题一;3.3 程序开发总结1、计算机可以很好的解决生活中的问题,是日常生活的好帮手;2、编写程序很费脑力和时间,软件工程人员为人们日常生活提供丰富多彩的软件工具,真的很有奉献精神;而且也很有能力,我要继续学习,争取在大学期间编写出自己的软件;3、做事要有耐心,C语言没有耐心编不好,生活没有耐心过不好;4 附件(源程序)1、存款问题:#include stdio.hvoid main()double fund;int i,year;printf(请输入每年的取款金额(元,两位小数)和存款年数:); scanf(%lf %d,&fund,&year);fund=fund/(1+12*0.0063);for(i=1;i=5;i+)fund=(fund+1000)/(1+12*0.0063);if(year-i!=0)printf(第%d年的剩余存款为:%.2lfn,year-i,fund);/*人民币只需精确到小数点后两位即可*/else printf(年初存款为:%.2lfn,fund);printf(以上为各年初的剩余存款(保留两位小数)。n);printf(存钱时应存%.2lf元。n,fund);2、换零钱问题:#include stdio.hvoid main()long a,b,c,n=0; double m;printf(请输入要兑换的钱数(元,=10且保留两位小数):); scanf(%lf,&m);printf(满足
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海上风电并网技术与电网适应性研究报告
- 2025年教师招聘之《幼儿教师招聘》综合提升测试卷及参考答案详解一套
- 洞察Z世代2025年网络文学消费现象与产业研究
- 乡村文化旅游与乡村旅游产业协同发展路径探索报告
- 汽车产业链供应链韧性分析与风险防控策略研究报告
- 水法知识竞赛试题及答案
- 初中数学竞赛深圳试题及答案
- 洞察2025年东南亚跨境电商:市场机遇与挑战深度分析报告
- 地理知识竞赛试题及答案
- 2025年氢能源车用加氢站建设成本与布局市场拓展动力研究报告
- 2.4水库泥沙防治-1泥沙淤积的成因危害与类型讲解
- 产科常用药物观察及不良反应
- 仓库发错货的解决方案
- 金属冶炼安全事故案例与分析
- 动物诊疗机构报告登记表
- 南京市2023-2024高一上学期期末英语试卷及答案
- 非法人经营授权书饿了么
- 了解胃肠肿瘤
- 2023年产科手术分级及安全核查培训考试试题
- 数字孪生及车间实践第三篇数字孪生车间
- 时间像小马车课件
评论
0/150
提交评论