P2715 42分救!!!!!!!
查看原帖
P2715 42分救!!!!!!!
459498
huifeidelaohu楼主2023/8/20 17:48
# include <iostream>
# include <cstdio>
# include <cstring>
using namespace std;
# define int long long
string s;
int a,b,c,flag;
int fuhao;
int fenge;
int fuhaowei;
double sum;
signed main(){
    getline(cin,s);
    for (int i=0;i<s.length();i++){
        if (s[i]==' '){
            s.erase(i,1);
            i--;
        }
    }
    int len=s.length();
    
    for (int i=0;i<len;i++){
        if (s[i]=='+'){
            fuhao=1;
            fuhaowei=i;
        }else if (s[i]=='-'){
            fuhao=2;
            fuhaowei=i;
        }else if (s[i]=='*'){
            fuhao=3;
            fuhaowei=i;
        }else if (s[i]=='/'){
            fuhao=4;
            fuhaowei=i;
        }
    }
    for (int i=0;i<len;i++){
        if (s[i]=='='){
            fenge=i;
        }
    }
    for (int i=0;i<fuhaowei;i++){
        if (s[i]=='?'){
            a=-1;
        }else{
            a*=10;
            a+=(s[i]-'0');
        }
    }
    for (int i=fuhaowei+1;i<fenge;i++){
        if (s[i]=='?'){
            b=-1;
        }else{
            b*=10;
            b+=(s[i]-'0');
        }
    }
    for (int i=fenge+1;i<len;i++){
        if (s[i]=='?'){
            c=-1;
        }else{
            c*=10;
            c+=(s[i]-'0');
        }
    }
    //cout<<fuhaowei<<" "<<fenge;
    //cout<<a<<" "<<b<<" "<<c<<" ";

    if (a==-1){//第一个数为?
        if (fuhao==1){
            sum=c-b;
        }else if (fuhao==2){
            sum=c+b;
        }else if (fuhao==3){
            sum=1.00*c/b;
        }else if (fuhao==4){
            sum=c*b;
        }
    }else if (b==-1){
        if (fuhao==1){
            sum=c-a;
        }else if (fuhao==2){
            sum=a-c;
        }else if (fuhao==3){
            sum=1.00*c/a;
        }else if (fuhao==4){
            sum=1.00*a/c;
        }
    }else{
        if (fuhao==1){
            sum=a+b;
        }else if (fuhao==2){
            sum=a-b;
        }else if (fuhao==3){
            sum=a*b;
        }else if (fuhao==4){
            sum=a*1.00/b;
        }
    }
    printf("%.2lf\n",sum);
    return 0;
}

啊啊啊啊啊为什么总是42分求大佬解答

2023/8/20 17:48
加载中...