标题:一条分期付款程序,输出结果的问题求解答!
只看楼主
梁小正
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-7-14
结帖率:100%
已结贴  问题点数:10 回复次数:3 
一条分期付款程序,输出结果的问题求解答!
#include<stdio.h>
#include<math.h>
void main()
{
int d,p;
double r,m;
printf("请分别输入您的贷款金额、每月预备还款金额,和该银行月利率:\n");
scanf("%d,%d,%f",&d,&p,&r);
m=(log10(p)-log10(p-d*r))/log10(1+r);
printf("还款月数=%f\n",m);
printf("总还款数=%f\n",m*p);

}
搜索更多相关主题的帖子: 贷款 银行 include double 月利率 
2011-07-14 13:35
梁小正
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-7-14
得分:0 
补充:这里假设贷款金额d为324500元,每月预备还款金额为3245元,和该银行月利率为8%,但得不出正常计算的答案,求各位帮忙解答,感谢!
2011-07-14 13:50
woshiaokeman
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:60
专家分:123
注 册:2011-4-5
得分:7 
log10(p) 里面的P可以是整形么?这个我不清楚,如果不可以那么我觉得log10(p)计算后会不会被强制转换成整形,把后面的小数位给约了!
2011-07-14 13:58
梁小正
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-7-14
得分:0 
上面问题我已经想通了,m是双精度的,而输入的D,P,R都是单精度的,会导致字节丢失,所以这个语句scanf("%d,%d,%f",&d,&p,&r);应该改为scanf("%ld,%ld,%lf",&d,&p,&r);这样输出的结果才正确,感谢您的回答,大家交流交流!
还有你说的log10(p),我认为不会强制转换成整形,而是会强制转换成实形,因为他与实形进行运算!少字节的会转换成多字节以增加精度的!
2011-07-14 14:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-345472-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.057107 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved