返回列表 發帖
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<sstream>
  4. #include<string>
  5. using namespace std;
  6. int main()
  7. {
  8.         string str;
  9.         cout<<"請輸入一個加法算式(例:5+46+12):";
  10.         cin>>str;
  11.         str+="+";     //在字串最後補上"+",讓最後的數字可以算進sum
  12.        
  13.         string tmp="";   //在還沒遇到"+"之前,暫存要分割的字串
  14.         int sum=0;
  15.         stringstream ss;
  16.         int n;
  17.        
  18.         for(int i=0;i<str.length();i++)
  19.         {
  20.                 if(str[i]=='+')
  21.                 {
  22.                         //把tmp的東西累加進sum
  23.                         ss<<tmp;
  24.                         ss>>n;
  25.                         sum=sum+n;     //轉換後才能運算
  26.                        
  27.                         tmp="";     //加完後tmp要清空
  28.                         ss.clear();     //重複使用前須初始化
  29.                 }
  30.                 else
  31.                 {
  32.                         tmp+=str[i];
  33.                 }
  34.         }
  35.         cout<<str.substr(0,str.length()-1)<<"="<<sum<<endl;
  36.        
  37.         system("pause");
  38.         return 0;
  39. }
複製代碼

TOP

返回列表