0316复利和单利计算更新4
2016-03-16 11:37
246 查看
#include<stdio.h> #include<math.h> intyear,n; doublep,q,F=0.0; voidinnit() { printf("注释:p为现金\n"); printf("year为年限\n"); printf("n为年复利次数\n"); printf("q为年利率\n"); printf("F为年复利终值\n"); } voidmenu() { printf("\t|------------------------------------|\n"); printf("\t|welcome|\n"); printf("\t|------------------------------------|\n"); printf("\t|1、复利计算|\n"); printf("\t|2、单利计算|\n"); printf("\t|0、退出系统|\n"); printf("\t|------------------------------------|\n"); } //复利计算 voidcompoundinterest(){ intI; intch; B:printf("\t1、获取复利终值\n"); printf("\t2、根据复利终值获取本金\n"); printf("\t3、估算获得年终值的年限\n"); printf("\t4、估算获得年终值的报酬率\n"); printf("请选择功能<1~4>:"); scanf("%d",&I); if(I==1) { printf("请输入存款金额:"); scanf("%lf",&p); printf("请输入存入存蓄年限:"); scanf("%d",&year); printf("请输入年复利次数:"); scanf("%d",&n); printf("请输入年利率:"); scanf("%lf",&q); F=p*pow((1+q/n),year*n); printf("复利终值为%lf:",F); } if(I==2) { printf("请输入复利终值:"); scanf("%lf",&F); printf("请输入存入存蓄年限:"); scanf("%d",&year); printf("请输入年复利次数:"); scanf("%d",&n); printf("请输入年利率:"); scanf("%lf",&q); p=F/(pow((1+q/n),year*n)); printf("复利本金为%lf:",p); } if(I==3) { printf("请输入存款金额:"); scanf("%lf",&p); printf("请输入年利率:"); scanf("%lf",&q); printf("请输入年复利次数:"); scanf("%d",&n); printf("请输入年终值:"); scanf("%lf",&F); year=(int)(log(F/p)/log(1+q/n))/n; //F=p*(1+q*year); printf("年限为%d\n:",year); } if(I==4) { printf("请输入存款金额:"); scanf("%lf",&p); printf("请输入存入存蓄年限:"); scanf("%d",&year); printf("请输入年复利次数:"); scanf("%d",&n); printf("请输入年终值:"); scanf("%lf",&F); //F=p*pow((1+q/n),year*n); q=n*(pow(F/p,1.0/(year*n))-1); printf("复利的年利率为%lf:\n",q); } printf("\n\t是否要重新计算?(1/0)\n"); scanf("%d",&ch); if(ch==1) { gotoB; } } //单利计算 voidsimpleinterest() { intn; intch; A:printf("\t1、获取单利终值\n"); printf("\t2、根据单利终值获取本金\n"); printf("\t3、估算获得年终值的年限\n"); printf("\t4、估算获得年终值的报酬率\n"); printf("请选择功能<1~4>:"); scanf("%d",&n); if(n==1) { printf("请输入存款金额:"); scanf("%lf",&p); printf("请输入存入存蓄年限:"); scanf("%d",&year); printf("请输入年利率:"); scanf("%lf",&q); F=p*(1+q*year); printf("单利终值为%lf\n:",F);} if(n==2) { printf("请输入单复利终值:"); scanf("%lf",&F); printf("请输入存入存蓄年限:"); scanf("%d",&year); printf("请输入年利率:"); scanf("%lf",&q); p=F/(1+q*year); printf("本金为%lf\n:",p);} if(n==3){ printf("请输入存款金额:"); scanf("%lf",&p); printf("请输入年利率:"); scanf("%lf",&q); printf("请输入年终值:"); scanf("%lf",&F); year=(int)((F/p-1)/q); //F=p*(1+q*year); printf("年限为%d\n:",year); } if(n==4){ printf("请输入存款金额:"); scanf("%lf",&p); printf("请输入存入存蓄年限:"); scanf("%d",&year); printf("请输入年终值:"); scanf("%lf",&F); //F=p*pow((1+q/n),year*n); q=(F/p-1)/year; printf("单利的年利率为%lf:\n",q); } printf("\n\t是否要重新计算?(1/0)\n"); scanf("%d",&ch); if(ch==1) { gotoA; }} main(){ intch,n; while(1){ if(n==0)break; innit(); menu(); printf("pleasechose<0~4>:"); scanf("%d",&ch); switch(ch){ case1:compoundinterest();break; case2:simpleinterest();break; case0:n=0;break; }}} 运行结果: 1/复利计算——算年限和年利率
2、单利计算年限和年利率
6.如果每年都将积蓄的3万元进行投资,每年都能获得3%的回报,然后将这些本利之和连同年金再投入新一轮的投资,那么,30年后资产总值将变为多少?如果换成每月定投3000呢?
(定额定投收益计算办法)
#include<stdio.h> #include<math.h> intyear,n; doublep,q,F=0.0; voidinnit() { printf("注释:p为现金\n"); printf("year为年限\n"); printf("n为年复利次数\n"); printf("q为年利率\n"); printf("F为年复利终值\n"); } voidmenu() { printf("\t|------------------------------------|\n"); printf("\t|welcome|\n"); printf("\t|------------------------------------|\n"); printf("\t|1、复利计算|\n"); printf("\t|2、单利计算|\n"); printf("\t|0、退出系统|\n"); printf("\t|------------------------------------|\n"); } //复利计算 voidcompoundinterest(){ intI,a; intch; B:printf("\t1、获取复利终值\n"); printf("\t2、根据复利终值获取本金\n"); printf("\t3、估算获得年终值的年限\n"); printf("\t4、估算获得年终值的报酬率\n"); printf("\t5、投资获利\n"); printf("请选择功能<1~5>:"); scanf("%d",&I); if(I==1) { printf("请输入存款金额:"); scanf("%lf",&p); printf("请输入存入存蓄年限:"); scanf("%d",&year); printf("请输入年复利次数:"); scanf("%d",&n); printf("请输入年利率:"); scanf("%lf",&q); F=p*pow((1+q/n),year*n); printf("复利终值为%lf:",F); } if(I==2) { printf("请输入复利终值:"); scanf("%lf",&F); printf("请输入存入存蓄年限:"); scanf("%d",&year); printf("请输入年复利次数:"); scanf("%d",&n); printf("请输入年利率:"); scanf("%lf",&q); p=F/(pow((1+q/n),year*n)); printf("复利本金为%lf:",p); } if(I==3) { printf("请输入存款金额:"); scanf("%lf",&p); printf("请输入年利率:"); scanf("%lf",&q); printf("请输入年复利次数:"); scanf("%d",&n); printf("请输入年终值:"); scanf("%lf",&F); year=(int)(log(F/p)/log(1+q/n))/n; //F=p*(1+q*year); printf("年限为%d\n:",year); } if(I==4) { printf("请输入存款金额:"); scanf("%lf",&p); printf("请输入存入存蓄年限:"); scanf("%d",&year); printf("请输入年复利次数:"); scanf("%d",&n); printf("请输入年终值:"); scanf("%lf",&F); //F=p*pow((1+q/n),year*n); q=n*(pow(F/p,1.0/(year*n))-1); printf("复利的年利率为%lf:\n",year,q); } if(I==5) { printf("1.按月投2.按年投\n"); printf("请选择定投方式:"); scanf("%d",&a); if(a==1){ printf("请输入月投金额:"); scanf("%lf",&p); printf("请输入存入定投年限:"); scanf("%d",&year); printf("请输入收益率:"); scanf("%lf",&q); F=p*12*(1+q)*(-1+pow(1+q,year))/q; printf("%d年后的资产终值为:%lf",year,F);} if(a==2){ printf("请输入年投金额:"); scanf("%lf",&p); printf("请输入存入定投年限:"); scanf("%d",&year); printf("请输入收益率:"); scanf("%lf",&q); F=p*(1+q)*(-1+pow(1+q,year))/q; printf("%d年后的资产终值为:%lf",year,F);} } printf("\n\t是否要重新计算?(1/0)\n"); scanf("%d",&ch); if(ch==1) { gotoB; } } //单利计算 voidsimpleinterest() { intn; intch; A:printf("\t1、获取单利终值\n"); printf("\t2、根据单利终值获取本金\n"); printf("\t3、估算获得年终值的年限\n"); printf("\t4、估算获得年终值的报酬率\n"); printf("请选择功能<1~4>:"); scanf("%d",&n); if(n==1) { printf("请输入存款金额:"); scanf("%lf",&p); printf("请输入存入存蓄年限:"); scanf("%d",&year); printf("请输入年利率:"); scanf("%lf",&q); F=p*(1+q*year); printf("单利终值为%lf\n:",F);} if(n==2) { printf("请输入单复利终值:"); scanf("%lf",&F); printf("请输入存入存蓄年限:"); scanf("%d",&year); printf("请输入年利率:"); scanf("%lf",&q); p=F/(1+q*year); printf("本金为%lf\n:",p);} if(n==3){ printf("请输入存款金额:"); scanf("%lf",&p); printf("请输入年利率:"); scanf("%lf",&q); printf("请输入年终值:"); scanf("%lf",&F); year=(int)((F/p-1)/q); //F=p*(1+q*year); printf("年限为%d\n:",year); } if(n==4){ printf("请输入存款金额:"); scanf("%lf",&p); printf("请输入存入存蓄年限:"); scanf("%d",&year); printf("请输入年终值:"); scanf("%lf",&F); //F=p*pow((1+q/n),year*n); q=(F/p-1)/year; printf("单利的年利率为%lf:\n",q); } printf("\n\t是否要重新计算?(1/0)\n"); scanf("%d",&ch); if(ch==1) { gotoA; }} main(){ intch,n; while(1){ if(n==0)break; innit(); menu(); printf("\n"); printf("pleasechose<0~4>:"); scanf("%d",&ch); switch(ch){ case1:compoundinterest();break; case2:simpleinterest();break; case0:n=0;break; }}} //基金定投收益计算公式: //M=a(1+x)[-1+(1+x)^n]/x //M:预期收益 //a:每期定投金额 //x:收益率 //n:定投期数(公式中为n次方) //注意a、x和n的匹配,月定投金额、月收益率、定投月数,如果是年,统一以后再计算。 //假设每月定投300元(每年为3600),年收益15%,定投35年。 8.如果向银行贷款10万元,年利率6.5%,期限为10年,那么每月等额本息还款多少?(算复利条件下等额还款金额)
#include<stdio.h> #include<math.h> intyear,n; doublep,q,F=0.0; voidinnit() { printf("注释:p为现金\n"); printf("year为年限\n"); printf("n为年复利次数\n"); printf("q为年利率\n"); printf("F为年复利终值\n"); } voidmenu() { printf("\t|------------------------------------|\n"); printf("\t|welcome|\n"); printf("\t|------------------------------------|\n"); printf("\t|1、复利计算|\n"); printf("\t|2、单利计算|\n"); printf("\t|3、每月等额本息还款|\n"); printf("\t|0、退出系统|\n"); printf("\t|------------------------------------|\n"); } //复利计算 voidcompoundinterest(){ intI,a; intch; B:printf("\t1、获取复利终值\n"); printf("\t2、根据复利终值获取本金\n"); printf("\t3、估算获得年终值的年限\n"); printf("\t4、估算获得年终值的报酬率\n"); printf("\t5、投资获利\n"); printf("请选择功能<1~5>:"); scanf("%d",&I); if(I==1) { printf("请输入存款金额:"); scanf("%lf",&p); printf("请输入存入存蓄年限:"); scanf("%d",&year); printf("请输入年复利次数:"); scanf("%d",&n); printf("请输入年利率:"); scanf("%lf",&q); F=p*pow((1+q/n),year*n); printf("复利终值为%lf:",F); } if(I==2) { printf("请输入复利终值:"); scanf("%lf",&F); printf("请输入存入存蓄年限:"); scanf("%d",&year); printf("请输入年复利次数:"); scanf("%d",&n); printf("请输入年利率:"); scanf("%lf",&q); p=F/(pow((1+q/n),year*n)); printf("复利本金为%lf:",p); } if(I==3) { printf("请输入存款金额:"); scanf("%lf",&p); printf("请输入年利率:"); scanf("%lf",&q); printf("请输入年复利次数:"); scanf("%d",&n); printf("请输入年终值:"); scanf("%lf",&F); year=(int)(log(F/p)/log(1+q/n))/n; //F=p*(1+q*year); printf("年限为%d\n:",year); } if(I==4) { printf("请输入存款金额:"); scanf("%lf",&p); printf("请输入存入存蓄年限:"); scanf("%d",&year); printf("请输入年复利次数:"); scanf("%d",&n); printf("请输入年终值:"); scanf("%lf",&F); //F=p*pow((1+q/n),year*n); q=n*(pow(F/p,1.0/(year*n))-1); printf("复利的年利率为%lf:\n",year,q); } if(I==5) { printf("1.按月投2.按年投\n"); printf("请选择定投方式:"); scanf("%d",&a); if(a==1){ printf("请输入月投金额:"); scanf("%lf",&p); printf("请输入存入定投年限:"); scanf("%d",&year); printf("请输入收益率:"); scanf("%lf",&q); F=p*12*(1+q)*(-1+pow(1+q,year))/q; printf("%d年后的资产终值为:%lf",year,F);} if(a==2){ printf("请输入年投金额:"); scanf("%lf",&p); printf("请输入存入定投年限:"); scanf("%d",&year); printf("请输入收益率:"); scanf("%lf",&q); F=p*(1+q)*(-1+pow(1+q,year))/q; printf("%d年后的资产终值为:%lf",year,F);} } printf("\n\t是否要重新计算?(1/0)\n"); scanf("%d",&ch); if(ch==1) { gotoB; } } //单利计算 voidsimpleinterest() { intn; intch; A:printf("\t1、获取单利终值\n"); printf("\t2、根据单利终值获取本金\n"); printf("\t3、估算获得年终值的年限\n"); printf("\t4、估算获得年终值的报酬率\n"); printf("请选择功能<1~4>:"); scanf("%d",&n); if(n==1) { printf("请输入存款金额:"); scanf("%lf",&p); printf("请输入存入存蓄年限:"); scanf("%d",&year); printf("请输入年利率:"); scanf("%lf",&q); F=p*(1+q*year); printf("单利终值为%lf\n:",F);} if(n==2) { printf("请输入单复利终值:"); scanf("%lf",&F); printf("请输入存入存蓄年限:"); scanf("%d",&year); printf("请输入年利率:"); scanf("%lf",&q); p=F/(1+q*year); printf("本金为%lf\n:",p);} if(n==3){ printf("请输入存款金额:"); scanf("%lf",&p); printf("请输入年利率:"); scanf("%lf",&q); printf("请输入年终值:"); scanf("%lf",&F); year=(int)((F/p-1)/q); //F=p*(1+q*year); printf("年限为%d\n:",year); } if(n==4){ printf("请输入存款金额:"); scanf("%lf",&p); printf("请输入存入存蓄年限:"); scanf("%d",&year); printf("请输入年终值:"); scanf("%lf",&F); //F=p*pow((1+q/n),year*n); q=(F/p-1)/year; printf("单利的年利率为%lf:\n",q); } printf("\n\t是否要重新计算?(1/0)\n"); scanf("%d",&ch); if(ch==1) { gotoA; }} voidDengEHuanKuan(){ printf("请输入贷款金额:"); scanf("%lf",&F); printf("请输入存入贷款年限:"); scanf("%d",&year); printf("请输入年利率:"); scanf("%lf",&q); p=F*q/(12*(1+q)*(-1+pow(1+q,year))); printf("每月等额本息还款为:%lf",p); } main(){ intch,n; while(1){ if(n==0)break; innit(); menu(); printf("\n"); printf("pleasechose<0~4>:"); scanf("%d",&ch); switch(ch){ case1:compoundinterest();break; case2:simpleinterest();break; case3:DengEHuanKuan();break; case0:n=0;break; }}} //基金定投收益计算公式: //M=a(1+x)[-1+(1+x)^n]/x //M:预期收益 //a:每期定投金额 //x:收益率 //n:定投期数(公式中为n次方) //注意a、x和n的匹配,月定投金额、月收益率、定投月数,如果是年,统一以后再计算。 //假设每月定投300元(每年为3600),年收益15%,定投35年。
相关文章推荐
- json_decode 与 json_encode 的区别
- javascipt继承机制(from阮一峰)
- HashMap原理分析
- LeetCode 21. Merge Two Sorted Lists
- 蓝桥杯B六----牌型种数----动态规划问题
- hbase 介绍
- 向下之旅(七):系统调用
- 发现一个h5网站,爱果果
- poj3614 Sunscreen (优先队列+贪心)
- JBoss Web和 Tomcat的区别
- WindowManager的学习
- Js实现360浏览器判断刷新或关闭
- 使用拦截器实现通用的登陆验证和日志记录
- runtime 操纵 属性 操纵 方法 为所欲为
- Java NIO系列教程(六) Selector
- android bug 问题定位(log+traces)
- HTML5骨骼动画Demo
- 在spring容器中定义初始化和销毁bean前所做的操作,有三种方式
- 【云计算】Docker容器不能修改hosts文件怎么解决?
- seo 关于时间的问题