一道c语言的问题 求大神帮忙 解答一下!!!!! 15
题目是这样的:某客户为购房办理商业贷款,选择了按月等额本息还款办法。在客户本金(loan)个月利率(rate)一定的情况下,住房贷款的月还款额(money),取决于还款月...
题目是这样的:某客户为购房办理商业贷款,选择了按月等额本息还款办法。在客户本金(loan)个月利率(rate)一定的情况下,住房贷款的月还款额(money),取决于还款月数(month),客户打算在5-30年内选择还清贷款的年限,想得到一张还款年限,月还款表以供参考。编写程序,输入带块本金loan,和月利率,rate,输出“还款年限 --月还款表 ”,还款年限的范围是5-30年,输出时分别精确到年和元。
公式:money=(loan*rate*(1+rate)*pow(1+rate,month))/(pow(1+rate,month)-1); 展开
公式:money=(loan*rate*(1+rate)*pow(1+rate,month))/(pow(1+rate,month)-1); 展开
2个回答
展开全部
#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
……………………
#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
……………………
展开全部
感觉是用Trie树(但其实我也不知道怎么运用),希望能有高手回答你吧。加油,ACMer !
刚才又有了一点想法,就是在建立Trie树的时候,当出现一个分岔点,就用数组记录下正在进行建树的字符串还有多少个字符没有添加到树中(因为题目所求的结果就是一个字符串删去后面的一段之后添加另外一个字符串的后缀,即两个字符串会有相同的前缀),同时在建树的过程中每一个节点都记录该字符串还有多少个字符没有添加到树中。这样只要已出现分岔点,就可以将正在建树的字符串的长度加上之前进入了树的字符串在分岔点时剩下的字符个数,就可以得出那两个字符串的结果。用一个变量记录最小值,最后就可以得到一个最小值了。
刚才又有了一点想法,就是在建立Trie树的时候,当出现一个分岔点,就用数组记录下正在进行建树的字符串还有多少个字符没有添加到树中(因为题目所求的结果就是一个字符串删去后面的一段之后添加另外一个字符串的后缀,即两个字符串会有相同的前缀),同时在建树的过程中每一个节点都记录该字符串还有多少个字符没有添加到树中。这样只要已出现分岔点,就可以将正在建树的字符串的长度加上之前进入了树的字符串在分岔点时剩下的字符个数,就可以得出那两个字符串的结果。用一个变量记录最小值,最后就可以得到一个最小值了。
追问
a.谢谢了。。。这是纯粹的编程,,题目比较简单,就是我不知哪里的逻辑出现问题、、改了而是多遍 啦。。。头疼啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询