1 条题解

  • 0
    @ 2025-10-10 15:45:27

    C :

    #include <stdio.h>
    
    int main()
    {
    	char s1[100] ; 
    	scanf("%s",s1) ;
    	char s2[50] ;
    	int a1[70] ;
    	int length = 0, number = 0 ;
    	
    	for(int i=0;s1[i]!='\0';i++)
    	{
    		int shi = 1 ;
    		int temp = 0 ;
    		
    		if(s1[i]=='*' || s1[i]=='+' || s1[i]=='-')
    		{
    			s2[number] = s1[i] ;
    			s2[++number] = '\0' ;
    		}
    		else
    		{
    			for(int j=i+1;s1[j]>=48;++j)
    			{
    				shi *= 10 ;
    			}
    			for(int j=i;shi>=1;j++)
    			{
    				i = j ;
    				temp += (s1[j]-48) * shi ;
    				shi /= 10 ;
    			}
    			a1[length] = temp ;
    			++length ;
    		}
    	}
    	
    	int sum = a1[0] ;
    	for(int i=1,j=0;i<length;i++)
    	{
    		switch(s2[j++])
    		{
    			case '*':
    				sum *= a1[i] ; break ;
    			case '+':
    				sum += a1[i] ; break ;
    			case '-':
    				sum -= a1[i] ; break ;
    		}
    	}
    	printf("%d\n",sum) ;
    	
    	return 0 ;
    }
    

    C++ :

    #include<bits/stdc++.h>
    using namespace std;  
    int main(){           
        string s1;
        cin>>s1;
        int i,t = s1[0] - 48;
    	for(i = 1;i < s1.length();i = i + 2)
    	{
    		if(s1[i] == '+'){
    			t = t + s1[i + 1] - 48;
    		}else if(s1[i] == '-'){
    			t = t - (s1[i + 1] - 48);
    		}else if(s1[i] == '*'){
    			t = t * (s1[i + 1] - 48);
    		}
    	}
    	cout<<t<<endl;
    	return 0;
    }
    

    Java :

    import java.util.Scanner;
    
    public class Main {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		String s = sc.nextLine();
    		String s1 = "",s2 = "";
    		for(int i=0;i<s.length();i++){
    			char c = s.charAt(i);
    			if(c >= '0' && c <= '9'){
    				s1 += c;
    			}else{
    				s2 += c;
    			}
    		}
    		int r = calc(s1.charAt(0)-48,s1.charAt(1)-48,s2.charAt(0));
    		for(int i=2;i<s1.length();i++){
    			r = calc(r,s1.charAt(i)-48,s2.charAt(i-1));
    		}
    		System.out.println(r);
    	}
    	public static int calc(int a,int b,char f){
    		int r = 0;
    	    if(f == '+'){
    	        r = a + b;
    	    }else if(f == '-'){
    	        r = a - b;
    	    }else if(f == '*'){
    	    	r = a * b;
    		}
    	    return r;
    	}
    
    	}
    

    Python :

    a=list(input())
    n=len(a)
    s=""
    m=0
    for i in range(0,n-2,2):
        s=a[i]+a[i+1]+a[i+2]
        m=int(eval(s))
        a[i+2]=str(m)
    print(a[n-1])
    
    
    • 1

    信息

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