本人买房子要做货款,目前有“等额本息”与“等额本金”这两种还款方式。拟货12万元、10年期。现用C语言设计一个程序来显示每月要付的金额,用“等额本金”还款(据说用此方式比较省钱)。其还款公式: 每季等额归还本金:120000÷(10×4)=3000元 第一个季度利息:120000×(4.41%÷4)=1323元 4.41%÷4=0.011025
则第一个季度还款额为3000+1323=4323元;
第二个季度利息:(120000-3000×1)×(4.41%÷4)=1289.93元
则第二个季度还款额为3000+1289.93=4289.93元
第40个季度利息:(120000-3000×39)×(4.41%÷4)=33.08元
则第40个季度还款额为3000+33.08=3033.08元
现我写的程序如下 :
#include<stdio.h> #define P 3000 main() { int i; float x,sum=0,t=0.011025; for(i=0;i<40;i++) { x=(120000-P*i)*t; printf(" %d: %7.2f",i+1,x); if((i+1)%4==0) printf("\n"); sum+=x; } printf("the total is :%7.2f\n",sum);
getch(); }
但出了问题,就是前11个季度是正确的,但从第12个季度开始就出错了,请高手看看,错在哪里,谢谢!
[此贴子已经被作者于2005-4-13 17:24:20编辑过]
----------------解决方案--------------------------------------------------------
不要折磨我了 找不出了
----------------解决方案--------------------------------------------------------
我运行了 实在找不出错误
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
其实就是算法问题了,很简单的,个人感觉程序设计没问题,但运行后显示的结果却有问题,不知编译器的问题,还是其它的问题呢,请提示,谢谢!
[此贴子已经被作者于2005-4-18 10:03:10编辑过]
----------------解决方案--------------------------------------------------------
是这样的吗?
----------------解决方案--------------------------------------------------------
把P定义为LONG就可以了
----------------解决方案--------------------------------------------------------
象这种问题,谭浩强书中讲的很清楚,
----------------解决方案--------------------------------------------------------