簡單的c語言比較數,求其最大值?這個程式編譯不報錯,但執行結果不正確。不知道哪裡錯了

2022-05-04 14:56:09 字數 2275 閱讀 5687

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語...