簡體   English   中英

這段代碼可以在代碼塊中完美運行,但在ideone.com上給出了運行時錯誤

[英]This code is running perfectly in codeblocks but giving a runtime error on ideone.com

int main()
{

    long int n,x,cost[100];
    cin>>n>>x;
    for(int i=0;i<n;i++)
        cin>>cost[i];

    int i=0,flag=0,s=0,first;
    first=cost[0];
    while(i<n)
    {
       s+=cost[i];
       if(s>x){
           s-=first;
           first++;
       }
       if(s==x)
       {
           flag=1;
           break;
       } 
       i++;
    }
    if(flag==0) cout<<"no";
    else cout<<"yes";
}

Ideone演示

這段代碼來自hackerearth。 問題的名字是“ Prateek和他的朋友們”,請幫忙。

我不確定這是否是您唯一的錯誤,但您應始終確保已將整數變量分配給(除非最終不使用它們)在這種情況下,明智的默認值可能是long int n = 0, x = 0

此外,如果cin>>n無法從流中讀取(由於EOF),則您將無法正常工作(由於EOF),您應該在讀取成功后進行檢查,請使用cin.fail() ,如果它返回的true大於之前的操作(或之前的操作)失敗。

我實際上不記得以前曾處理過流讀取失敗的可能性,因此我可能是錯的/遺漏了某些內容

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM