2017-08-13 185 views
0

這是我對spoj的第一個問題,「測試 - 生命,宇宙和一切」,我對競爭性編程非常失望。 這是我的代碼,並鏈接到的問題是this該代碼在代碼塊上運行良好,但無法在SPOJ上運行

#include <iostream> 
using namespace std; 
int main() 
{ 
    int a[10],i; 
    for(i=0;i<10;i++) 
    { 
     cin>>a[i]; 
    } 
    for(i=0;i<10;i++) 
    { 
     if(a[i]!=42) 
      cout<<a[i]<<endl; 
     else 
      break; 
    } 
    return 0; 
} 

它在其上運行的代碼塊罰款,但在這裏給出的SPOJ錯誤。 請別人幫我。

+0

爲什麼你認爲有10個號碼。輸入的長度不受限制。幸運的是,在打印出來之前,您不必讀取所有輸入。 –

+1

你會在職位市場找到幾個職位,其職位描述是「在短時間內糟糕的組織代碼」。 (儘管我會承認這是有時會發生的事情),所以不要因爲對競爭性節目的高度失望而過於沮喪。 – user4581301

回答

1

如前所述由用戶他解決一些SPOJ問題 只是低於其他用戶的利益是要求

你的程序是使用蠻力的辦法,以便找到 回答生命,宇宙和一切。更確切地說... 重寫從輸入到輸出的小數字。在讀入數字42後停止處理輸入 。輸入處的所有數字都是 的一個或兩個數字的整數。

Input: 
1 
2 
88 
42 
99 
Output: 
1 
2 
88 

下面是使用的代碼(C++ 14)代碼在你的網上法官合作

最簡單方法是僅僅做到這一點(在你工作的在線法官) 保持直到你看到42然後打破

建議用戶WhozCraig之一(請參閱評論)

int main() 
{ 
    int n; 
    while(std::cin >> n && n != 42) 
     std::cout << n << '\n'; 
} 
+0

@ user4581301當然我會這麼做 –

+0

換句話說,[你可以這樣做](http://ideone.com/83g8ml)。 – WhozCraig

+0

@請做添加建議,即使我是開胃菜 –

0

這是我的代碼希望它有助於:

int n; 
cin>>n; 
while (!(n==42)) { 
    cout<<n<<"\n"; 
    cin>>n; 

} 
相關問題