c语言银行存钱程序,c语言银行存钱.doc

c语言银行存钱

红河学院工学院

专业:计算机技术与科学

年级: 11 级

学号:6

姓名: 曹 永 前

成绩:

批改时间:

红河学院 工学院编制说 明

1、本报告供学生课程设计时使用。

2、学生应认真阅读课程设计要求。

3、课程设计报告里面的内容要手工填写,以备存档使用(源程序可打印)。

4、课程设计的总评成绩根据课程的性质,按一定比例计入该门课程成绩。

5、课程设计报告中的各模块填写的内容是评分的主要依据,如果不够书写,可以自行添加附页。

6、按规定的时间提交报告给教师评定成绩,由任课教师交到工学院存档。

课程设计目录

课程名称:高级语言程序设计

序号课程设计名称起止页码36银行存钱

设计任务

班级11计科指导

教师地点成绩学年2011-2012开始

日期结束

日期一、问题分析

根据这学期所学内容,解决这类问题有多种方法,由于对这些方法都不熟悉,不知道使用哪一种方法更为简便,我打算在这个程序中运用不同方法解决问题,分析比较两种方法,得出两种方法的利弊,方便以后的学习利用.

数据分析:

1.(倒推法分析)

设:年初存款为x,年底连本带息为y则y=x*(1+12*0.0068)

即:x=y/(1+12*0.0068)(递推公式)

第十年:y=500

第九年:y=(500+第十年初的存款)

第八年:y=(500+第九年初的存款)

…………………………………………

第一年:y=(500+第二年初的存款)

方法分析:(使用倒推法)

第十年初存款x10=(0+500)/(1+12*0.0068)

第九年初存款x9=(x10+500)/(1+12*0.0068)

……………………………………………………

第一年初存款x1=(x2+500)/(1+12*0.0068)

2.(顺序分析)

假设第一年存n元,那么年终应当是n=n*(1+0.%*12)-500;

第二年也是n=n*(1+0.%*12)-500

第三年n=n*(1+0.%*12)-500

第四年n=n*(1+0.%*12)-500

………………………………

方法分析(递归法)

第年n=n*(1+0.%*12)-500为零

所以n=00/(1+0.68%*12)为第年底,第年初的数量

第年初n=(00+第年初的数量)/(1+0.%*12)

第年初n=00+第年初的数量)/(1+0.%*12)

…………………………………………………………

第二年初n=(00+第三年初的数量)/(1+0.%*12)

第一年初n=(00+第二年初的数量)/(1+0.%*12)

二、设计流程图

1.倒推法2.递归法

三、程序代码

1.(倒推法)

#include

void main()

{ int k;

float x=0;

for(k=10;k>0;k--) //k从10开始,只要k>0,执行之后k自减(倒推法)

x=(x+500)/(1+0.0068*12);//每一年的存款等于下一年的存款加500再除以(1+0.0068*12)

printf("He must save %f at first\n",x);//输出第一次需要存入的金额

}

2.递归法

#include

#include

#define per 0.0816//银行的年利率,等于月利率0.68%*12

void count(int n,float a)

{

if (n == 0)//如果n等于0,则输出a,递归出口

{

printf("%f\n",a);

}

a += 500;//a=a+500

a = a/(1+per);//下一年的存款除以(1+per)等于上一年的

count(n-1,a);

}

void main()

{

float i = 0;

int n = 10;

count(n,i);

}

3.把结果写进文件(倒推法)

#include

#include

void main()

{ int k;

double x=0;

for(k=10;k>0;k--) //k从10开始,只要k>0,执行之后k自减(倒推法)

x=(x+500)/(1+0.0068*12);//每一年的存款等于上一年的存款加500再除以(1+0.0068*12)

FILE*fp;

fp=fopen("E:\\daan1.txt","w");

fprintf(fp,"%f",x);

fclose(fp);

pri

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值