#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()
( 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])
以上。
( 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])
以上。
謝謝你~ 我成功了
也了解你說的意思