a865386512 2014-12-28 14:40 采纳率: 28.6%
浏览 1629

C语言的一个小问题 求解答

图片说明
如题 我的代码是这样
#include
int main()
{
double x,y;
printf("输入数据:");
scanf("%lf",&x);

if(x<1)

    y=x;

else if(x>=1&&x<=10) 

    y=2*x-1;

else if(x>10)

    y=3*x-11;

printf("输出结果:x=%lf     y=%lf\n",x,y);
return 0;

}

程序没有出现错误。可是当我输入12.23 时候,给我的结果不是y=25.689999 而是
y=25.69 为什么结果小数点的第二位四舍五入了呢

  • 写回答

5条回答 默认 最新

  • threenewbee 2014-12-28 14:42
    关注

    3x-11=12.23*3-11本来就是25.69,不存在四舍五入。

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?