1. #include <stdio.h>
  2. #include <math.h>
  3. #define M 999
  4. int main()
  5. {
  6. double benjin = 0.0;
  7. double lilv = 0.0;
  8. double yue_lilv = 0.0;
  9. int nianxian = 0;
  10. double benxi_a = 0.0;
  11. double lixi_a = 0.0;
  12. double benjin_yihuan[M] = {0.0}; /*第i个月已还本金*/
  13. double benjin_yu[M] = {0.0};
  14. int yue_a = 0;
  15. int i = 0;
  16. double yue_benjin[M] = {0.0};
  17. double yue_lixi[M] = {0.0};
  18. double yue_benxi = 0.0;
  19. printf("请输入本金 年利率 年限\n");
  20. scanf("%lf%lf%d", &benjin, &lilv, &nianxian);
  21. yue_a = nianxian * 12;
  22. yue_lilv = lilv / 1200;
  23. yue_benxi = benjin * yue_lilv * pow(1 + yue_lilv, yue_a) / (pow(1 + yue_lilv, yue_a) - 1);
  24. yue_lixi[0] = benjin * yue_lilv;
  25. yue_benjin[0] = yue_benxi - yue_lixi[0];
  26. benjin_yu[0] = benjin - yue_benjin[0];
  27. benjin_yihuan[0] = yue_benjin[0];
  28. printf("第%d个月-应还本金%.2lf\t-应还利息%.2lf\t-剩余本金%.2lf\n", 1, yue_benjin[0], yue_lixi[0], benjin_yu[0]);
  29. for (i = 1; i < yue_a; ++i)
  30. {
  31. yue_lixi[i] = benjin_yu[i-1] * yue_lilv;
  32. yue_benjin[i] = yue_benxi - yue_lixi[i];
  33. benjin_yihuan[i] = benjin_yihuan[i-1] + yue_benjin[i];
  34. benjin_yu[i] = benjin - benjin_yihuan[i];
  35. printf("第%d个月-应还本金%.2lf\t-应还利息%.2lf\t-剩余本金%.2lf\n", i+1, yue_benjin[i], yue_lixi[i], benjin_yu[i]);
  36. lixi_a += yue_lixi[i];
  37. }
  38. benxi_a = lixi_a + benjin + yue_lixi[0];
  39. printf("总本金[%.2lf] 总利息[%.2lf] 总本金利息和[%.2lf]\n", benjin, lixi_a + yue_lixi[0], benxi_a);
  40. return 0;
  41. }

View Code

 

版权声明:本文为leegoo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/leegoo/archive/2013/11/01/3401905.html