#3391: 在自己的電腦上一切正常,但是提交后第一個測資點就算錯


kfc315 (Jammy)

學校 : 山东大学
編號 : 10863
來源 : [101.78.195.61, 10.1.0.44]
最後登入時間 :
2013-09-16 15:21:59
d614. 簡易加法運算 -- 葆葆 | From: [204.152.218.195] | 發表日期 : 2010-02-08 23:28

我的程式碼如下:

 

#include<iostream>

#include<string>

#include <stdlib.h>

using namespace std;

 

long int calc(string str);

 

int main()

{

    int n;

    int i;

    string str;

    cin >> n;

    for (i = 0; i < n; i++)

    {

        cin.clear();

        cin.sync();

        getline(cin, str);

        cout << calc(str) << endl;

    }

    return 0;

}

 

long int calc(string str)

{

    long int sum = 0;

    int x;

    string substr;

    while(str.find(" + ") != -1)

    {

        substr = str.substr(0, str.find(" + "));

        x = atoi(substr.c_str());

        sum += x;

        str = str.substr(str.find(" + ") + 3);

    }

    x = atoi(str.c_str());

    sum += x;

    return sum;

}

 

經過第一個測資點時,正確答案為 6,但系統告訴我我的程式的計算結果為 0。

謝謝各位! 

 

 
#11740: Re:在自己的電腦上一切正常,但是提交后第一個測資點就算錯


tang891228 (tang891228)

學校 : 國立成功大學
編號 : 61119
來源 : [140.116.1.138]
最後登入時間 :
2018-09-24 00:20:31
d614. 簡易加法運算 -- 葆葆 | From: [61.227.231.26] | 發表日期 : 2017-02-11 23:50

 

雖然我沒發現是什麼問題

不過記得要用 long long int 才能算到 263-1

long int 和 int 是一樣的

 
ZeroJudge Forum