代码结果不一样
本帖最后由 华文杉 于 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多,求问:为什么结果不一样?库函数包含的内容在哪里能够找得到?
感谢鱼油们解答! 在写头文件的那行点右键就会出现一个菜单,有个选项是打开头文件的,不过估计看不懂,想知道里面包含哪些函数直接在百度上搜具体的头文件名就行了,至于程序问题还不知道,身边没电脑,手机太不方便了{:10_256:} 一个是log10,一个是log,怎么可能一样啊 m = log(p/(p-(d*r)) / log(1+r));
m = log10(x) / log10(y);
表达式不一样啊 你上面括号仔细看看 第七行m = log(p/(p-(d*r)) / log(1+r));
改为m = log(p/(p-(d*r))) / log(1+r);问题就解决了
还有,你贴代码的时候其中的d的值多了个0;我说我怎么刹车踩断了都没得出5.30的答案
最后满意的话给个最佳啊亲{:5_92:}{:5_92:}
页:
[1]