istringstream对象可以绑定一行字符串,然后以空格为分隔符把该行分隔开来。
#include<iostream>
#include<sstream>
using namespace std;
int main()
{
string str, line;
while(getline(cin, line))
{
istringstream stream(line);
while(stream>>str)
cout<<str.c_str()<<endl;
}
return 0;
}
#include<iostream> #include<cstring> #include<sstream> #include<string> #include<cstdio> using namespace std; char s[505]; double exc(istringstream &iss) { char a[10]; double res; iss>>a; cout<<a<<endl; switch(a[0]) { case '+':return exc(iss)+exc(iss);break; case '-':return exc(iss)-exc(iss);break; case '*':return exc(iss)*exc(iss);break; case '/':return exc(iss)/exc(iss);break; default :sscanf(a,"%lf",&res); return res; } } int main() { double result; while(gets(s)) { istringstream iss(s); result=exc(iss); cout.precision(2); cout<<fixed<<result<<endl; } return 0; }
本文介绍如何使用istringstream对象处理输入的字符串表达式,并实现简单的数学运算解析。通过读取标准输入,利用istringstream将输入的行按空白分隔,再进一步解析包含算术运算的表达式。
2389

被折叠的 条评论
为什么被折叠?



