C语言·还款计算
- 格式:pdf
- 大小:85.21 KB
- 文档页数:1
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 要求输出为⼀个整数,表⽰每⽉还款额(单位是:分) 例如: 输⼊: 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 提交程序时,注意选择所期望的语⾔类型和编译器类型。 1 #include 2 #include 3 using namespace std; 4 int main(){ 5 double x=10000,r;// r 是 年利率 6 int n;// 还款期 7 cin>>r>>n; 8 r=r*0.01/12;//每⽉的利息 9 double start=x/n; 10 double sum=x,last=99999999; 11 while(start){ 12 sum=x; 13 for(int i=1;i<=n;i++) 14 sum=sum+sum*r-start; 15 if(abs(last) 16 int zz=(double)((start-0.01)*100+0.5); 17 cout< 18 break; 19 } 20 last=sum; 21 start=start+0.01; 22 } 23 return 0; 24 }