題目連結: https://zerojudge.tw/ShowProblem?problemid=d098
# 內容
請求出所有僅含數字的單字,並且加總後輸出。這些數字的總和不會超過 2 的 16 次方。
# 解題思路
運用 stringstream 讀入每個單字,判斷是否全為數字後相加。
# 程式碼
#include <iostream> | |
#include <sstream> | |
#include <cstdlib> | |
using namespace std; | |
int main() { | |
string s; | |
while(getline(cin,s)){ | |
stringstream ss; | |
string num; | |
ss<<s; | |
int sum=0; | |
while(ss>>num){ | |
bool all_num=true; | |
for(int i=0;i<num.size();i++){ | |
if(!isdigit(num[i])){ | |
all_num=false; | |
break; | |
} | |
} | |
if(all_num){ | |
int num_ans=atoi( num.c_str() ) ; | |
sum+=num_ans; | |
} | |
} | |
cout<<sum<<endl; | |
} | |
} |