不知道是我誤解題目還是?
WA:line 2 我的答案是:
正確答案:1 2 4 8 16
請各位撥點時間指導我一下 感謝
#include <iostream>
using namespace std;
int main()
{
int a,b,c,d,e,t;
while(cin >> t)
{
while(t--)
{
cin >>a>>b>>c>>d;
if(a<100001 && b<100001 && c< 100001 && d<100001)
{
if((d-c) == (b-a))
{
e=d+(b-a);
if(e<100001)
{
cout << a<< " "<< b<< " "<< c<< " "<< d<< " "<< e << endl;
}
else
{
cout <<" "<<endl;
}
}
if( (b/a) == (d/c) )
{
e=d*(d/c);
if(e<100001)
{
cout << a<< " "<< b<< " "<< c<< " "<< d<< " "<< e << endl;
}
else
{
cout<< " "<< endl;
}
}
else
{cout<< " "<<endl;}
}
}
}
}
if (是否為等差數列)
{
//略1
}
if (是否為等比數列)
{
//略2
}
else
{
//略3
}
當輸入的是等比數列....就不會進去 略1 和 略2 裡面
相反的,輸入的是等差數列....就會進去 略1 和 略2 裡面
這就是為什麼第二行會是輸出空白行的原因
解決方法:
改成以下寫法(也就是多打一個紅色的 else )
if (是否為等差數列)
{
//略1
} else
if (是否為等比數列)
{
//略2
}
else
{
//略3
}