Shinone+const 2022-09-27 12:53 采纳率: 92%
浏览 106
已结题

使用long double类型数据计算显示0

本来想通过换一个数据类型,从double换成long double来增加计算精度(不过后来发现double已经够了),结果发现计算结果都为零?

#include<stdio.h>
#include<math.h>
#define pai 3.141592
int main(void)
{
  double r;
   double area;
   double volumn;

  scanf("%lf",&r);
  printf("%lf\n",r);//打印出来为检验r是否正确输入了


  area = 4*pai*r*r;
  volumn = (4*pai*pow(r,3))/3;

  printf("%.6lf\n%.6lf",area,volumn);

 return 0;
}
运行结果:
输入:2
输出: 2.000000
          50.265472
           33.510315
Process returned 0 (0x0)   execution time : 1.165 s
Press any key to continue.


转换成long double后

#include<stdio.h>
#include<math.h>
#define pai 3.141592
int main(void)
{
  double r;
  long double area;
  long double volumn;

  scanf("%lf",&r);
  printf("%lf\n",r);


  area = 4*pai*r*r;
  volumn = (4*pai*pow(r,3))/3;

  printf("%.6lf\n%.6lf",area,volumn);

 return 0;
}

输入:2(以下为输出)
2.000000
0.000000
0.000000
Process returned 0 (0x0) execution time : 2.131 s
Press any key to continue.

无论输入什么数字,下面两个计算结果都为0.为什么会这样呢

  • 写回答

5条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-27 14:00
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 10月5日
  • 已采纳回答 9月27日
  • 创建了问题 9月27日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么