C语言程序报告.docx

上传人:b****6 文档编号:3100337 上传时间:2022-11-17 格式:DOCX 页数:8 大小:64.07KB
下载 相关 举报
C语言程序报告.docx_第1页
第1页 / 共8页
C语言程序报告.docx_第2页
第2页 / 共8页
C语言程序报告.docx_第3页
第3页 / 共8页
C语言程序报告.docx_第4页
第4页 / 共8页
C语言程序报告.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

C语言程序报告.docx

《C语言程序报告.docx》由会员分享,可在线阅读,更多相关《C语言程序报告.docx(8页珍藏版)》请在冰豆网上搜索。

C语言程序报告.docx

C语言程序报告

学院

班级

学号

姓名

摘要

本文选择生活常遇到的两个小问题,通过C语言设计编程得到最终解题结果。

与平时的苦思冥想相比,运用计算机求解显得更加简单实用,笔者体会到计算机是解决生活实际问题的一种重要方式,在当今社会计算机更显示出其重要的作用和强大的功能。

我选择的试题为难度系数为8的两道题分别是11题和29题,分别存款问题和换零钱问题。

我经过编程并进行了拓展,增加了与用户交流的能力。

使程序能够更好地帮助人们更好地解决生活中的一些小问题。

程序简单实用,用户只需按照提示输入所需数据即可。

由于能力所限,程序较为简单。

1摘要

1.1设计题目

1、实际生活存款问题;

2、换分币问题;

1.2设计内容

1、实际生活存款问题:

假设一银行零存整取的月利率为0.63%。

现在某人手中有一笔钱,他打算在今后的五年中的年底取出1000元,到第5年刚好取完。

请算出他存钱时存款多少?

2、换零钱:

用1元人民币换成1分、2分、5分的硬币,共有多少种方案?

1.3开发工具

编译器:

VisualBasicC++6.0;

1.4应用平台

WindowsXP;

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;b<50;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.h"

voidmain()

{

doublefund;/*定义变量,用以存放存款数*/

intI,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年的剩余存款为:

%.2lf\n",year-i,fund);}/*人民币只需精确到小数点后两位即可*/

elseprintf("年初存款为:

%.2lf\n",fund);

}

printf("以上为各年初的剩余存款(保留两位小数)。

\n");/*输出数值*/

printf("存钱时应存%.2lf元。

\n",fund);

}

2.换零钱问题:

#include"stdio.h"

voidmain()

{

inta,b,c,n=0;/*定义变量,n用来存放方案个数*/

doublem;

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("总计方案种数:

%d\n",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.h"

voidmain()

{

doublefund;

inti,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年的剩余存款为:

%.2lf\n",year-i,fund);}/*人民币只需精确到小数点后两位即可*/

elseprintf("年初存款为:

%.2lf\n",fund);

}

printf("以上为各年初的剩余存款(保留两位小数)。

\n");

printf("存钱时应存%.2lf元。

\n",fund);

}2、换零钱问题:

#include"stdio.h"

voidmain()

{

longa,b,c,n=0;

doublem;

printf("请输入要兑换的钱数(元,<=10且保留两位小数):

");

scanf("%lf",&m);

printf("满足条件时,1分、2分、5分分别对应的个数为:

");

printf("\n");

for(a=0;a<=m*100;a++)

{

for(b=0;b<=m*50;b++)

{

for(c=0;c<=m*20;c++)

{

if(a*1+b*2+c*5==m*100)

{

printf("%d%d%d;\n",a,b,c);

n++;

}

}

}

}

printf("总计方案种数:

%d\n",n);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1