為什么結果是24?不是69.4?哪里錯了
#include <stdio.h>
#define p 2.3
#define S 13
int main()
{
? ? int n=12;
? ? float w;
? ? printf("請輸入公里數(shù)",n);
scanf("n=%d",&n);?
? ? if(n>3)
? ? {
?w=(n-3)*p+S+1;
}
? ? ?else
? ?{
? w=S+1;
}
? ? ?printf("w=%f\n",2*w);
return 0;
}
2016-03-31
如果你不算時間,又想從鍵盤輸入的話,改成這樣也行
?#include?<stdio.h>
#define?p?2.3
#define?S?13
int?main()
{
????int?n;
????float?w;
????printf("請輸入公里數(shù):\n");
????scanf("%d",&n);
????if(n>3)
????{
?w=(n-3)*p+S+1;
}
?????else
???{
??w=S+1;
}
?????printf("w=%.2f\n",2*w);
return?0;
}
2016-03-31
蛋疼法。
2016-03-31
不對,你這代碼有問題,printf里面都沒有%d,逗號后面來個n沒用啊,n都已經(jīng)賦值了12,為什么后面又加了個scanf?
2016-03-31
你的代碼運行之后,輸入12,的確等于69.4,當然了,你選擇的是輸出%f,最好改成%.2f,這樣不會出現(xiàn)最后值不精確的情況。另外就是時間的因素你沒有寫進去,雖然題里面的確不用考慮時間,9點和18點都不在價錢范圍內(nèi),但理應寫出來,更何況你還想從鍵盤輸入值
2016-03-25
你在哪編譯的啊,還有你的printf和scanf都好奇怪啊,你scanf是想用鍵盤從外面輸入值嘛?