求助大佬,我想使用substr但是有点问题,求助大佬
  • 板块灌水区
  • 楼主魑魅魍魉唬
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/3/9 19:08
  • 上次更新2024/3/9 21:00:40
查看原帖
求助大佬,我想使用substr但是有点问题,求助大佬
317218
魑魅魍魉唬楼主2024/3/9 19:08

题目是只有+/-的字符串算式,是比较简单的,我想使用新学的substr来实现截取数字,但是这个输出不了结果,所以请教一下大佬。比如:+1+2+3,输出:6.我这个输出不了,所以想请教一下大佬们

#include<bits/stdc++.h>
using namespace std;
int main(){
	string s;
	cin>>s;
	int l=s.size();
	int sum=0;
	for(int i=0;i<l;i++){
		if(s[i]=='+'){    //+的情况 
			int j=i+1;
			while(s[j]!='+'||s[j]!='-'){
				j++;
				if((s[j]=='+')||(s[j]=='-')){
					string ss;
					ss=s.substr(i+1,j-i-1);//将数字截取到ss中 
					sum=sum+atoi(ss.c_str());//ss字符串中的数字转成数字加到sum中 
				}
			}
		}
		else if(s[i]=='-'){		//-的情况 
			int j=i+1;
				while(s[j]!='+'||s[j]!='-'){
					j++; 
					if((s[j]=='+')||(s[j]=='-')){
						string ss;
						ss=s.substr(i+1,j-i-1);
						sum=sum-atoi(ss.c_str());
					}
			}
		}
		else{
			continue;
		}
	}
	cout<<sum<<endl;
	return 0;
}
2024/3/9 19:08
加载中...