1樓:語之劍聖
if(a=c) if(b=c)出錯,應用==。
即使用了==,結果還是錯.
因為:不可將浮點變數用「==」或「!=」與任何數字比較, 千萬要留意,無論是float還是double型別的變數,都有精度限制。
所以一定要避免將浮點變數用「==」或「!=」與數字比較,應該設法轉化成「>=」或「<=」形式。
假設浮點變數的名字為x,應當將
if (x == 0.0) // 隱含錯誤的比較轉化為
if ((x>=-epsinon) && (x<=epsinon))其中epsinon是允許的誤差(即精度)。
即:if(a=c) if(b=c)出錯;
ps:建議你看看林銳的《高質量c++/c程式設計指南》,裡面有詳細講……
2樓:匿名使用者
else if(a=b) // else if(a == b)
3樓:匿名使用者
#include//通常用尖括號
void main() //這裡這樣寫比較好,否則會出現警告
簡潔易懂
4樓:小樓微醉
你這個搞得太複雜了吧
# include
void main()
5樓:匿名使用者
scanf("%f%f%f",&a,&b,&c);
這一句寫成scanf("%f %f %f",&a,&b,&c);
%f之間加一個空格
你輸入時,資料之間也用一個空格分開
a=c 寫錯,用== ,還有b=c等
我編了一個比較三個數大小的c語言程式,編譯顯示沒錯誤,但執行起來出不來結果,想問問是**錯了
6樓:匿名使用者
void main()
a>b>c
會先判斷a>b
如果a>b則返回1,否則返回0
再將這個返回值與c比較
一個簡單的c語言題目,比較三個數字大小,但是我的程式執行結果不對
7樓:
**沒有問題。但你寫的輸入語句是scanf("%d %d,%d",&a,&b,&c);,那麼輸入時第一個數與第二個數之間應當用空格隔開,而第二個數與第三個數之間應當用逗號隔開。
8樓:匿名使用者
if else if else if ....else
c語言求三個數的最大值 為什麼這個程式在數字達到九位的時候出現錯誤
9樓:
不是9位。是10位。
int型別 只有4個位元組。 儲存上限是 0xffffffff 還要去掉一個符號位
c語言,輸入三個整數,輸出最大值,我這個程式編出來為什麼執行不對,輸入1,2,3出來的是1 50
10樓:匿名使用者
沒看出什麼問題,照著你的來試了下可以啊。。
一定要說有問題就是沒判斷相等的情況
11樓:
肯判斷玩兩個之間的最大值然後賦值,之後把m和第三個數比較,再選出最大的
有一個c語言的**不知道**錯了 執行結果總是不正確 請大神幫忙看下 20
12樓:千鋒教育
for語句後面不能加分號。
如果小編解決了你的問題,麻煩採納下,謝謝。
c語言中求三個數最大值遇到的問題 5
13樓:匿名使用者
第二個程式
a>max?a:max=(b>c?b:c)先執行a>max,這時max是沒有賦值的,a>max的結果不確定,因此整個表示式的值不確定
第一個程式
max=a>(max=(b>c?b:c))?
a:max優先執行括號裡的式子,max=(b>c?b:
c) ,max為b和c中的較大者,max有了確定值,然後執行max=a>max?a:max max為a和max中較大者,所以最後max是三者中最大的
14樓:匿名使用者
條件運算子的運算是先判斷表示式1。
第二幅圖裡,先判斷表示式1,即"a>max?",,但此時max還未被賦值,所以結果不對。
第一幅圖裡,max在和a比較之前,已經被正確賦值了,所以結果正確。
用C語言,任意輸入數,求其中的最大值和最小值,並顯示位
思路 定義一個變數,並鍵盤輸入一個數賦值給該變數,且把該數賦值給最大值和最小數。接著for迴圈輸出剩下9個數,並判斷該數和最大值最小值的大小關係,更新最大值和最小值,最後輸出最大值和最小值。參考 include stdio.h int main printf 最大值為 d,最小值為 d n max,...
python語言數求最大值該如何程式設計序
def max3 a,b,c maxnum a if a b else bif c maxnum maxnum creturn maxnum if name main print max3 3,2,1 定義三個數a,b,c並賦值,假如a 10,b 2,c 23先比較a和b,max a,b中大的值 再...
c語言for迴圈求十個以內整數的最大值
您好,很高興您的問題。您的程式首先有一個不是錯誤,但是起不到作用的語句 n 1和n 10這兩句話放在程式中毫無意義,程式並不會通過這兩句話,就讓n的值大於1而小於10。另外程式有一個致命的錯誤,c語言中,語句是用分號來結束的,只有一句話寫完了,才用的分號。但是這裡面for後面緊跟著分號,代表for語...