1 条题解

  • 0
    @ 2023-3-13 11:08:33

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    
    //将string转化为int
    int num(string s){
    	int r = 0;
    	int i,t = 1;
    	for(i = s.size() - 1;i >= 0;i--){
    		r = r + (s[i] - 48) * t;
    		t = t * 10;
    	}
    	
    	return r;
    } 
    
    //计算结果 
    int calc(int a,int b,char c){
    	if(c == '+'){
    		return a + b;
    	}else if(c == '-'){
    		return a - b;
    	}
    }
    
    
    int main(){
    	string s,w;
    	int a[1000],i;
    	char b[1000];
    	
    	getline(cin,s);
    	w = "";
    	int k = 0;
    	int x = 0;
    	//循环取出每个数和每个运算符 
    	for(i = 0;i < s.size();i++){
    		if(s[i] >= '0' && s[i] <= '9'){
    			w = w + s[i];
    			if(i == s.size() - 1 || s[i + 1] == '+' || s[i + 1] == '-'){
    				//cout<<w<<endl;
    				a[k] = num(w);
    				k++;
    				w = "";
    			}
    		}else{
    			//cout<<s[i]<<endl;
    			b[x] = s[i];
    			x++;
    		}
    	} 
    	
    	int r = 0;
    	r = calc(a[0],a[1],b[0]);
    //	cout<<r<<endl;
    	for(i = 2;i < k;i++){
    //		cout<<r<<" "<<a[i]<<" "<<b[i-1]<<endl;
    		r = calc(r,a[i],b[i-1]);
    		
    	}
    	cout<<r<<endl;
    }
    

    Python :

    a=input()
    n=len(a)
    s=""
    j=0
    for i in range(1,n):
        if a[i]=="+" or a[i]=="-":
           s=s+a[j:i]+a[i]
           j=i+1
    s=s+a[j:n]       
    print(eval(s))
    
    
    • 1

    信息

    ID
    1380
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者