標題:
字串分割
[打印本頁]
作者:
鄭繼威
時間:
2023-5-20 15:09
標題:
字串分割
本帖最後由 鄭繼威 於 2024-3-9 15:16 編輯
結合
stringstream 字串串流 (二)
完成輸入加法字串算式
本帖隱藏的內容需要回復才可以瀏覽
作者:
陳宥霖
時間:
2023-5-20 15:29
#include<iostream>
#include<cstdlib>
#include<sstream>
#include<string>
using namespace std;
int main()
{
string str;
cout<<"請輸入一個加法算式 (譬如 5+7+2): ";
cin>>str;
str+="+";
string tmp="";
int sum=0;
stringstream ss;
int n;
for(int i=0;i<str.size();i++)
{
if(str[i]=='+')
{
ss<<tmp;
ss>>n;
sum=sum+n;
tmp="";
ss.clear();
}
else{
tmp+=str[i];
}
}
cout<<str.substr(0,str.length()-1)<<"="<<sum<<endl;
system("pause");
return 0;
}
複製代碼
作者:
陳泓亦
時間:
2023-5-20 15:30
#include<iostream>
#include<cstdlib>
#include<sstream>
#include<string>
using namespace std;
int main(){
string str;
cout<<"請輸入一個加法算式 (譬如 5+7+2): ";
cin>>str;
str+="+";
string tmp="";
int sum=0;
stringstream ss;
int n;
for(int i=0;i<str.size();i++)
{
if(str[i]=='+')
{
ss<<tmp;
ss>>n;
sum=sum+n;
tmp="";
ss.clear();
}
else{
tmp+=str[i];
}
}
cout<<str.substr(0,str.length()-1)<<"="<<sum<<endl;
system("pause");
return 0;
}
複製代碼
作者:
宜儒
時間:
2023-5-20 16:01
#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;
}
複製代碼
作者:
徐啟祐
時間:
2023-5-26 20:03
#include<iostream>
#include<cstdlib>
#include<sstream>
#include<string>
using namespace std;
int main()
{
string str;
cout<<"請輸入一個加法算式(譬如 5+7+2):";
cin>>str;
str+="+";
string tmp="";
int sum=0;
stringstream ss;
int n;
for(int i=0;i<str.size();i++)
{
if(str[i]=='+')
{
ss<<tmp;
ss>>n;
sum=sum+n;
tmp="";
ss.clear();
}
else{
tmp+=str[i];
}
}
cout<<str.substr(0,str.length()-1)<<"="<<sum<<endl;
system("pause");
return 0;
}
複製代碼
作者:
黃品禎
時間:
2023-10-21 19:45
#include<iostream>
#include<sstream>
using namespace std;
int main()
{
string str;
cout<<"請輸入一個加法算式(譬如:5+7+2)"<<endl;
cin>>str;
int sum=0;
for(int i=0;i<str.length();i++)
{
string tmp="";
int tmp_int;
if(str[i]=='+')
{
stringstream ss;
//數字相加(string->int)
ss<<tmp;
ss>>tmp_int;
sum=sum+tmp_int;
cout<<tmp<<endl<<tmp_int<<endl;
//重複使用所以清空
ss.clear();
tmp="";
}else
{
//字串相加
tmp=tmp+str[i];
cout<<tmp<<endl;
}
}
cout<<sum<<endl;
return 0;
}
複製代碼
作者:
翁川祐
時間:
2024-3-9 15:00
1
複製代碼
作者:
江家同
時間:
2024-3-9 15:01
3213213213213213213211321212121;alkfhj;aoilehjga ;opsriouj tq5iprohuj q;bm'qpeuy q4h
作者:
郭博鈞
時間:
2024-3-9 15:01
1111111111
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2