求助求助!!C 問題,幾個C 很基本的問題 求助!!!!

2022-06-10 18:02:13 字數 1356 閱讀 3458

1樓:

既然是填空就有辦法,填上下面的表示式就行:

(a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a) ? 1 : (a==b && b==c) ?

2 : (a==b)||(b==c)||(a==c) ? 3 :

6要是程式設計那就有更簡單的辦法。

另:這段**的if((a+b>c&&a-ba&&b-cb&&a-c> a >> b >> c;

if(a+b>c && a+c>b && b+c>a)if(a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a)

cout << "這是直角三角形" << endl;

else if(a==b==c)

cout << "這是等邊三角形" << endl;

else if(a==b || b==c || a==c)cout << "這是等腰三角形" << endl;

else cout<<"這是普通三角形" << endl;

else cout<<"不能構成三角形" << endl;

} 這段**更簡潔一些,同時糾正了對三角形判斷不嚴密的問題。

2樓:愛因斯坦波

填什麼都不對的,除非修改全部

幾個c++很基本的問題 求助!!!! 5

3樓:

不要把優先順序和運算順序混為一談。c/c++的表示式運算順序都是從左至右的,優先順序和結合性一起確定乙個雙目運算子作用在哪兩個變數上、單目運算子作用在哪乙個變數上……

4樓:匿名使用者

表示式k=++x||++y&&++z等效於k=(++x) || (++y&&++z)

當執行k=x++時邏輯||的左值為1,不管||後面的是0是1,此邏輯表示式的值都為1都不執行||右邊的表示式了,所以y還是1

short是16位的,最大的數就是32767,也就是01111111 11111111,也就等於2的15次方減1,自加一就變成10000000 00000000,因為最高位是1,所以是負數,是乙個負數的補碼,就成最大的負數了

5樓:匿名使用者

先計算x++為true,然後直接忽略 || 後面的計算,就是說++y實際上是沒有執行的!

int的範圍是-32768~+32767,+1後最高位為1,超過正數的表示範圍了,變成負數

6樓:匿名使用者

超過short int 的有效範圍

7樓:匿名使用者

第一題這樣看就好了k=(x++||++y)&&++z,計算機他讀寫的時候是從右向左讀的,輸出從左到右

C語言問題,C語言問題,求助

while語句的執行順序 1.判斷x的值 非0為真,0為假 2.執行 3.執行 裡面的 這裡是空,所以沒任何動作。所以會一直迴圈到x 0,判定為假,迴圈終止。接著執行減減,最後列印結果為 1 c語言問題,求助 這題是迷惑人用的.因為迴圈內部沒有break,所以for會一直執行下去,直到a 11,這時...

C 新手求助,簡單的問題,C 新手求助,乙個簡單的問題

int func 這種形式叫做返回乙個引用,你說的函式是返回乙個one的引用,對one進行賦值就多了一種方式,one 60 這時候one的值是60,你試試這樣 比如你在前面 中定義了乙個變數num 0 執行func num 之後num值變為60 在試試這樣 func num 50 這個時候num的值...

求助,C語言輸出問題

1全部 define min x,y x y x y 和函式 int min int x,int y 是不一樣的,如果做題的時候,當成函式了,必錯無疑。10 min 10,15 程式編譯後,表示式變成下面的樣子。10 10 15 10 15 結果就變成,100 15?10 15 define min...