#4490: _c++


nick171283 (jojo900029)


我想請問一下

請問這裡有什麼不同

#include<iostream>
using namespace std;
int main ()
{
int a,b,c,d,e,t,i;
cin>>t;
for(i=1;i<=t;i+=1){
cin>>a>>b>>c>>d;
if (b-a==c-b && c-b==d-c){
e=2*d-c;
cout<<a<<" "<<b<<" "<<c<<" "<<d<<" "<<e<<"\n";                   
}
else if(b/a==c/b && c/b==d/c){
e=d*d/c;
cout<<a<<" "<<b<<" "<<c<<" "<<d<<" "<<e<<"\n";     
}
}
system("pause");
return 0;
}

 

如果改成(b-a==c-b==d-c)

(b/a==c/b==d/c)

為什麼就錯誤了??

等差的部份為什麼會錯誤??

 

#4493: Re:c++


asdf80730 (任風吹乾)


如果改成(b-a==c-b==d-c)

(b/a==c/b==d/c)

別跟數學表示式搞混!!這是很基礎的問題了喔

1<X<10這是數學表示式,C++不接受的

一定得寫成兩段敘述,在&&起來 => (X>1 && X<10)

你上面的兩段敘述也很討厭,

會有以下兩種讀法!!!

(b/a)==(c/b)==(d/c) 若 "/"優先於"=="

b/(a==c)/(b==d)/c    若"=="優先於"/"  (PS:這是錯的)

請多加括號區別,不然你連錯在哪的也不知道,別忘記運算元的優先順序,不然就加個括號保險

但是你原來的程式碼就算加了括號也不會對,原因跟一開始講的事一樣

不要跟數學搞混!!

抱歉言詞犀利了些

#4495: Re:c++


nick171283 (jojo900029)


如果改成(b-a==c-b==d-c)

(b/a==c/b==d/c)

別跟數學表示式搞混!!這是很基礎的問題了喔

1

一定得寫成兩段敘述,在&&起來 => (X>1 && X<10)

你上面的兩段敘述也很討厭,

會有以下兩種讀法!!!

(b/a)==(c/b)==(d/c) 若 "/"優先於"=="

b/(a==c)/(b==d)/c    若"=="優先於"/"  (PS:這是錯的)

請多加括號區別,不然你連錯在哪的也不知道,別忘記運算元的優先順序,不然就加個括號保險

但是你原來的程式碼就算加了括號也不會對,原因跟一開始講的事一樣

不要跟數學搞混!!

抱歉言詞犀利了些

 

 

非常感謝,現在我了解了,謝謝!!

#4496: Re:c++


nick171283 (jojo900029)


如果改成(b-a==c-b==d-c)

(b/a==c/b==d/c)

別跟數學表示式搞混!!這是很基礎的問題了喔

1

一定得寫成兩段敘述,在&&起來 => (X>1 && X<10)

你上面的兩段敘述也很討厭,

會有以下兩種讀法!!!

(b/a)==(c/b)==(d/c) 若 "/"優先於"=="

b/(a==c)/(b==d)/c    若"=="優先於"/"  (PS:這是錯的)

請多加括號區別,不然你連錯在哪的也不知道,別忘記運算元的優先順序,不然就加個括號保險

但是你原來的程式碼就算加了括號也不會對,原因跟一開始講的事一樣

不要跟數學搞混!!

抱歉言詞犀利了些