C语言·还款计算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语⾔·还款计算
标题:还款计算
银⾏贷款的等额本息还款⽅法是:每⽉还固定的⾦额,在约定的期数内正好还完(最后⼀个⽉可能会有微⼩的零头出⼊)。
⽐如说⼩明在银⾏贷款1万元。
贷款年化利率为5%,贷款期限为24个⽉。
则银⾏会在每个⽉进⾏结算:结算⽅法是:计算本⾦在本⽉产⽣的利息:本⾦ x (年利率/12) 则本⽉本⾦结余为:本⾦ + 利息 - 每⽉固定还款额计算结果会四舍五⼊到“分”。
经计算,此种情况下,固定还款额应为:438.71
这样,第⼀⽉结算时的本⾦余额是: 9602.96 第⼆个⽉结算: 9204.26 第三个⽉结算: 8803.9 .... 最后⼀个⽉如果仍按固定额还款,则最后仍有0.11元的本⾦余额,但如果调整固定还款额为438.72, 则最后⼀个⽉会多还了银⾏0.14元。
银⾏会选择最后本⾦结算绝对值最⼩的情况来设定每⽉的固定还款额度。
如果有两种情况最后本⾦绝对值相同,则选择还款较少的那个⽅案。
本题的任务是已知年化利率,还款期数,求每⽉的固定还款额度。
假设⼩明贷款为1万元,即:初始本⾦=1万元。
年化利率的单位是百分之多少。
期数的单位为多少个⽉。
输⼊为2⾏,第⼀⾏为⼀个⼩数r,表⽰年率是百分之⼏。
(0<r<30) 第⼆⾏为⼀个整数n,表⽰还款期限。
(6<=n<=120)
要求输出为⼀个整数,表⽰每⽉还款额(单位是:分)
例如:输⼊: 4.01 24
程序应该输出: 43429
再⽐如:输⼊: 6.85 36
程序应该输出: 30809
资源约定:峰值内存消耗(含虚拟机) < 256M CPU消耗 < 1000ms
请严格按要求输出,不要画蛇添⾜地打印类似:“请您输⼊...” 的多余内容。
所有代码放在同⼀个源⽂件中,调试通过后,拷贝提交该源码。
java选⼿注意:不要使⽤package语句。
不要使⽤jdk1.7及以上版本的特性。
java选⼿注意:主类的名字必须是:Main,否则按⽆效代码处理。
c/c++选⼿注意: main函数需要返回0 c/c++选⼿注意: 只使⽤ANSI C/ANSI C++ 标准,不要调⽤依赖于编译环境或操作系统的特殊函数。
c/c++选⼿注意: 所有依赖的函数必须明确地在源⽂件中 #include <xxx>,不能通过⼯程设置⽽省略常⽤头⽂件。
提交程序时,注意选择所期望的语⾔类型和编译器类型。
1 #include<iostream>
2 #include<cmath>
3using namespace std;
4int main(){
5double x=10000,r;// r 是年利率
6int n;// 还款期
7 cin>>r>>n;
8 r=r*0.01/12;//每⽉的利息
9double start=x/n;
10double sum=x,last=99999999;
11while(start){
12 sum=x;
13for(int i=1;i<=n;i++)
14 sum=sum+sum*r-start;
15if(abs(last)<abs(sum)){
16int zz=(double)((start-0.01)*100+0.5);
17 cout<<zz;
18break;
19 }
20 last=sum;
21 start=start+0.01;
22 }
23return0;
24 }。