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 }