一道c语言的问题 求大神帮忙 解答一下!!!!!

题目是这样的:某客户为购房办理商业贷款,选择了按月等额本息还款办法。在客户本金(loan)个月利率(rate)一定的情况下,住房贷款的月还款额(money),取决于还款月数(month),客户打算在5-30年内选择还清贷款的年限,想得到一张还款年限,月还款表以供参考。编写程序,输入带块本金loan,和月利率,rate,输出“还款年限 --月还款表 ”,还款年限的范围是5-30年,输出时分别精确到年和元。
公式:money=(loan*rate*(1+rate)*pow(1+rate,month))/(pow(1+rate,month)-1);

#include <stdio.h>

#include<math.h>

int main(int argc, const char * argv[])

{

double loan,rate,money;

int i,month;

scanf("%lf%lf",&loan,&rate);

for (i=5; i<=30; i++) {

month=12*i;

money=(loan*rate*(1+rate)*pow(1+rate, month))/(pow(1+rate, month)-1);

printf("还款年限:%d 月还款:%lf\n",i,money);

}

return 0;

}
是这样么?

输入10000 0.01
输出:
还款年限:5 月还款:224.668922

还款年限:6 月还款:197.456944

还款年限:7 月还款:178.292601

……………………
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-27
感觉是用Trie树(但其实我也不知道怎么运用),希望能有高手回答你吧。加油,ACMer !
刚才又有了一点想法,就是在建立Trie树的时候,当出现一个分岔点,就用数组记录下正在进行建树的字符串还有多少个字符没有添加到树中(因为题目所求的结果就是一个字符串删去后面的一段之后添加另外一个字符串的后缀,即两个字符串会有相同的前缀),同时在建树的过程中每一个节点都记录该字符串还有多少个字符没有添加到树中。这样只要已出现分岔点,就可以将正在建树的字符串的长度加上之前进入了树的字符串在分岔点时剩下的字符个数,就可以得出那两个字符串的结果。用一个变量记录最小值,最后就可以得到一个最小值了。追问

a.谢谢了。。。这是纯粹的编程,,题目比较简单,就是我不知哪里的逻辑出现问题、、改了而是多遍 啦。。。头疼啊

相似回答