亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么輸入大于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 關注
  • 1915 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號