1 solutions

  • 0
    @ 2025-11-5 20:16:44

    C++ :

    #include <iostream>
    using namespace std;
    int main ()
    {
        char a[210];
        while(cin.getline(a,210)){
            if(a[0]=='0'&&a[1]=='\0')
                break;
            double b[200]={0};
            char c[101];
            int j=0;
            for(int i=0;a[i];i++){
                if(a[i]>='0'&&a[i]<='9')
                    b[j]=b[j]*10+a[i]-48;
                else
                {if(a[i]==' ')
                continue;
                    c[j]=a[i];
                    j++;
                }
            }
                for(int k=0;k<j;k++){
                if(c[k]=='*'){
                    b[k+1]=b[k]*b[k+1];
                    b[k]=0;
                    c[k]='0';
                }
                else
                    if(c[k]=='/'){
                            b[k+1]=b[k]/b[k+1];
                            b[k]=0;
                    c[k]='0';
                    }
                }
                    char l='+';
                    for(int s=0;s<j;s++){
                        if(c[s]=='+'){
                    b[0]+=b[s+1];
                    l=c[s];
                        }
                else
                    if(c[s]=='-'){
                        b[0]-=b[s+1];
                        l=c[s];
                    }
                    else
                        if(c[s]=='0'){
                            if(l=='+')
                            b[0]+=b[s+1];
                            else
                                if(l=='-')
                                    b[0]-=b[s+1];
                        }
                            
                    }
                    printf("%.2lf\n",b[0]);
        }
        return 0;
    }
    
    • 1

    Information

    ID
    20216
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By