为了账号安全,请及时绑定邮箱和手机立即绑定

为什么输入大于10的值时只有一个结果??

为什么输入大于10的值时只有一个结果??

C
Labermax 2017-10-23 19:38:33
#include<stdio.h> int main(){float x; scanf("%f",&x); if(x<1) printf("%f\n",x); else if(x<10||x>=1) printf("%f\n",2*x-1); if(x>=10) printf("%f\n",3*x-11); return 0;}我输了12.5 结果只有25  不是应该还有第三个if 的26.5吗   为什?
查看完整描述

3 回答

已采纳
?
慕用4063026

TA贡献195条经验 获得超115个赞

24.000000

26.500000

这是我编辑器的答案,没问题啊,项目是什么


查看完整回答
2 反对 回复 2017-10-23
  • Labermax
    Labermax
    我是在ubuntu下用终端编译的
  • 慕用4063026
    慕用4063026
    我用是ubuntu优麒麟,没有问题啊 而且用在线C还是一样的 24.000000 26.500000
  • 慕用4063026
    慕用4063026
    你可以试一下更新程序,sudo apt-get update,下个vim编辑器
?
HowardWang

TA贡献8条经验 获得超3个赞

if改成else试试,或者计算机默认的是double,强制转换成float

查看完整回答
1 反对 回复 2017-10-23
?
Labermax

TA贡献4条经验 获得超0个赞

为什么我把"x<10||"删除后 在输入大于10的数 就有两个结果了???  难道我的机器有问题吗 ??

查看完整回答
反对 回复 2017-10-24
  • 苏富杰
    苏富杰
    首先,我猜你想写if、else if else而你写成了if 、else if 、 if这样前两个判断为1个if,最后一个if单独判断,其次你那个else if里的判断条件我猜你想说大于1和小于10同时满足,而你写成|,这是或的意思,应改&&.修改||变成&&,修改最后一个if成else,这应该是你想要的结果
  • 3 回答
  • 0 关注
  • 1802 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信