cc123hh 发表于 2020-2-26 20:54:38

小数点后面输出了符号

#include <stdio.h>
#include <math.h>

int main()
{
        double d=300000,p=6000,r=0.01,m;
       
        m=log(p/p-d*r)/log(1+r);
       
        printf("月份:%4.1f",m);
       
        return 0;
}

输出了
1.$
什么情况??????

zltzlt 发表于 2020-2-26 21:04:55

第 8 行,运算优先级有误吧

#include <stdio.h>
#include <math.h>

int main()
{
    double d = 300000, p = 6000, r = 0.01, m;

    m = log(p / (p - d * r)) / log(1 + r);

    printf("月份:%.1f", m);

    return 0;
}

major_lyu 发表于 2020-2-26 23:01:39

#include <stdio.h>
#include <math.h>

int main()
{
      double d=300000,p=6000,r=0.01,m;
      
      m=log(p/p-d*r)/log(1+r); // p/p-d*r = 1-60 = -59; log(-59)是没有意义的。因此m的值是Nan
      
      printf("月份:%4.1f",m);
      
      return 0;
}

原因如上边的注释。
遇到问题可以自己调试,单步运行一下,看看每个变量是不是你期望的值。很快就能找到问题的。

无所谓-浪 发表于 2020-2-28 14:40:42

能给一下题目或者要求吗?{:10_245:}
页: [1]
查看完整版本: 小数点后面输出了符号