#16560: WA (line:4) 我不知哪裡有錯?


amy2wook@gmail.com (Amy Chen)



#include<stdio.h>

int main() {
  int num = 0 ;
  int a[5] ;
  int d = 0 ;

  scanf("%d",&num ) ;
  while( scanf("%d%d%d%d",&a[0],&a[1],&a[2],&a[3]) != EOF && num != 0 ) {
    if ( ( a[3] - a[2] ) == ( a[2] - a[1] ) == ( a[1] - a[0] ) ) {
      d = a[3] - a[2] ;
      a[4] = a[3] + d ;

      printf( "%d %d %d %d %d\n", a[0] , a[1] , a[2] , a[3] , a[4] ) ;

    } // if ()
    else {
      d = a[2] / a[1] ;
      a[4] = a[3] * d ;
      printf( "%d %d %d %d %d\n", a[0] , a[1] , a[2] , a[3] , a[4] ) ;
    } // else()

    num -- ;

  } // while()

  return 0;
} // main()

 

#16561: Re:WA (line:4) 我不知哪裡有錯?


inversion (「我們所認識的可符香是個像天使的好女孩」之葉林 *Cries...)


 ( a[3] - a[2] ) == ( a[2] - a[1] ) == ( a[1] - a[0] )

 

這個條件式的 ( a[3] - a[2] ) == ( a[2] - a[1] )  會先產生 true 或是 false 的布林值,這個布林值再去跟後面的 == ( a[1] - a[0] ) 結合。

 

因此條件式是在問 ( a[1] - a[0] ) 是否為 true (或是 false),跟原本您大概想表達的意思大相逕庭。

 

因此建議改成:(a[3] - a[2]) == (a[2] - a[1] ) && (a[2] - a[1])  == (a[1] - a[0])

 

以上。

#16566: Re:WA (line:4) 我不知哪裡有錯?


amy2wook@gmail.com (Amy Chen)


 ( a[3] - a[2] ) == ( a[2] - a[1] ) == ( a[1] - a[0] )

 

這個條件式的 ( a[3] - a[2] ) == ( a[2] - a[1] )  會先產生 true 或是 false 的布林值,這個布林值再去跟後面的 == ( a[1] - a[0] ) 結合。

 

因此條件式是在問 ( a[1] - a[0] ) 是否為 true (或是 false),跟原本您大概想表達的意思大相逕庭。

 

因此建議改成:(a[3] - a[2]) == (a[2] - a[1] ) && (a[2] - a[1])  == (a[1] - a[0])

 

以上。

謝謝你~ 我成功了


也了解你說的意思