Problem ID :d036. 計算數字和

New Thread

User c++

avengertree SendIMessage
tree

d036. 計算數字和 | From: 163.30.20.150 | Post Date:2017-05-09 12:10:32.0

測試好幾種寫法
只有這個剛好通過顯示出AC
不過速度並沒有很快
提供參考
有更好的寫法也可以拿出來分享一下這題等待題 
 
#include <iostream>
#include <string>
#include <sstream>
using namespace std;

int main()
{
    //題目輸入 與 數字字串 
    string input,sNum;
    //全部總和 與 文字長度 
    int total,leni;
    total=0;

    while(cin >> input){
        leni=input.length();
        sNum="";
        for (int i=0;i<leni;i++){
            //如果判斷是數字的話,就放入數字字串 
            if (input[i]>='0' && input[i]<='9'){
                sNum+=input[i];
            }
            else{
            //當遇到不是數字的時候,先判斷數字字串是否有東西
            //使用stringstream來做轉換 
                if (sNum!=""){
                    stringstream ss1;
                    ss1 << sNum;
                    int stoii;
                    ss1 >> stoii;
                    //答案輸出部分 
                    if (total!=0)cout << "+";
                    cout << stoii;
                    total+=stoii;
                    sNum="";
                }
            }
        }
    }
    cout << "=" << total << "\n";

return 0;
}

 


New Thread

ZeroJudge Forum