- #include<iostream>
- #include<cstdlib>
- #include<sstream>
- #include<string>
- using namespace std;
- int main()
- {
- string str;
- cout<<"請輸入一個加法算式(例:5+46+12):";
- cin>>str;
- str+="+"; //在字串最後補上"+",讓最後的數字可以算進sum
-
- string tmp=""; //在還沒遇到"+"之前,暫存要分割的字串
- int sum=0;
- stringstream ss;
- int n;
-
- for(int i=0;i<str.length();i++)
- {
- if(str[i]=='+')
- {
- //把tmp的東西累加進sum
- ss<<tmp;
- ss>>n;
- sum=sum+n; //轉換後才能運算
-
- tmp=""; //加完後tmp要清空
- ss.clear(); //重複使用前須初始化
- }
- else
- {
- tmp+=str[i];
- }
- }
- cout<<str.substr(0,str.length()-1)<<"="<<sum<<endl;
-
- system("pause");
- return 0;
- }
複製代碼 |