计算字符串 +5-9-21+85+4 这样的式子,求助大佬为啥不对呀
  • 板块灌水区
  • 楼主魑魅魍魉唬
  • 当前回复13
  • 已保存回复14
  • 发布时间2024/2/26 16:15
  • 上次更新2024/2/26 19:55:34
查看原帖
计算字符串 +5-9-21+85+4 这样的式子,求助大佬为啥不对呀
317218
魑魅魍魉唬楼主2024/2/26 16:15
#include<bits/stdc++.h>
using namespace std;
int main(){
	string s;
	cin>>s;
	int l=s.length(),sum=0;
	for(int i=l-1;i>=0;i--){
		if(s[i]=='+'&&isdigit(s[i-1])){ //代表是加一位数 
			sum=sum+s[i-1];
		}
		if(s[i]=='+'&&isdigit(s[i-2])){//代表加两位数 
			sum=sum+(s[i-1])*10+s[i-2];
		}
		if(s[i]=='-'&&isdigit(s[i-1])){//代表减一位数 
			sum=sum-s[i-1];
		}
		if(s[i]=='-'&&isdigit(s[i-2])){//代表减两位数 
			sum=sum-s[i-1]*10-(s[i-2]);
		}
		else   //若是数字则移动到下一位 
			i--;
	}
	cout<<sum<<endl;
	return 0;
}
2024/2/26 16:15
加载中...