|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 华文杉 于 2021-5-25 08:47 编辑
我在求银行利率问题自己编写一段代码:习题 3.3 购房从银行贷了一笔款d, 准备每月还款额为p, 月利率为r, 计算多少月能还清。设d为300000元,p为6000元,r为1%。对求得的月份取小数点后一位,对第2位按四舍五入处理。
- #include"stdio.h"
- #include"math.h"
- int main()
- {
- double r = 0.01 , m ;
- int d = 3000000,p = 6000;
- m = log(p/(p-(d*r)) / log(1+r));
- printf("能还清的月数为:%f\n",m);
- return 0;
- }
复制代码
这是CSDN上的代码:
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- int main()
- {
- int d = 300000, p = 6000; //定义贷款总额,每月还贷数
- double r = 0.01, m, x, y; //定义利率,月份
- x = p / (p - d * r);
- y = 1 + r;
- m = log10(x) / log10(y); //计算公式
- printf("m=%.2lf\n", m);
- system("pause");
- return 0;
- }
复制代码
前者结果是5.30,后者是60多,求问:为什么结果不一样?库函数包含的内容在哪里能够找得到?
感谢鱼油们解答!
第七行m = log(p/(p-(d*r)) / log(1+r));
改为m = log(p/(p-(d*r))) / log(1+r);问题就解决了
还有,你贴代码的时候其中的d的值多了个0;我说我怎么刹车踩断了都没得出5.30的答案
最后满意的话给个最佳啊亲  
|
|