dreamseapig
IsTime time
2020-05-28 15:17
采纳率: 100%
浏览 354

C语言 一个简单的数学算式输出结果总是零

#include
#include
int main()
{
long double t,ne,u,n;
printf("请输入时间,电压\n");
scanf("%lf %lf",&t,&u);
ne=(1.43E-14)/u/pow(t+0.02*t*pow(t, 0.5),1.5);
n=ne/1.60E-19;
printf("%lf %lf",ne,n);
return 0;
}

  • 点赞
  • 收藏

2条回答 默认 最新

  • zongxian5219
    铁血乳娃娃 2020-05-28 15:46
    已采纳

    有几个问题:
    1.ne的值可能会超出精度表示范围
    2.你既然是long double 输出格式应该是%Lf
    3.因为编译器默认只保留小数点后六位,所以你可以通过%.11Lf这样的形式来显示后面的位数
    因为你的值太小 我个人建议用科学计数法 %.3e这样的形式 3是保留的位数

    点赞 评论
  • weixin_43946061
    胡晓飒 2020-05-28 16:04

    看你数据返回值是否有意义?

    点赞 评论

相关推荐