91pts WA on #11
查看原帖
91pts WA on #11
835856
Terry_MC楼主2023/11/24 21:59

悬1关

#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <string>
#include <vector>
#include <queue>
#include <stack>
#include <set>
#include <deque>
#include <map>
using namespace std;
char ch,opp;
int now=1;
double num[5];
bool noNum[5];
int main(){
    while(cin>>ch){
        //cerr<<ch;
        if(ch>='0'&&ch<='9'){
            num[now]=int(ch)-48;
            while(cin>>ch&&((ch>='0'&&ch<='9')||ch==' ')){
                num[now]*=10;
                num[now]+=int(ch)-48;
            }
        }
        if(ch=='+'||ch=='-'||ch=='*'||ch=='/'){
            opp=ch;
            now++;
        }
        if(ch=='?')noNum[now]=1;
        if(ch=='=')now++;
    }
    //cerr<<num[1]<<" "<<num[2]<<" "<<num[3]<<" "<<opp<<endl;
    if(opp=='+'){
        if(noNum[1]){
            printf("%.2lf",num[3]-num[2]);
        }
        if(noNum[2]){
            printf("%.2lf",num[3]-num[1]);
        }
        if(noNum[3]){
            printf("%.2lf",num[1]+num[2]);
        }
    }
    if(opp=='-'){
        if(noNum[1]){
            printf("%.2lf",num[2]+num[3]);
        }
        if(noNum[2]){
            printf("%.2lf",num[1]-num[3]);
        }
        if(noNum[3]){
            printf("%.2lf",num[1]-num[2]);
        }
    }
    if(opp=='*'){
        if(noNum[1]){
            printf("%.2lf",num[3]*1.0/num[2]);
        }
        if(noNum[2]){
            printf("%.2lf",num[3]*1.0/num[1]);
        }
        if(noNum[3]){
            printf("%.2lf",num[1]*1.0*num[2]);
        }
    }
    if(opp=='/'){
        if(noNum[1]){
            printf("%.2lf",num[3]*1.0*num[2]);
        }
        if(noNum[2]){
            printf("%.2lf",num[3]*1.0*num[1]);
        }
        if(noNum[3]){
            printf("%.2lf",num[1]*1.0/num[2]);
        }
    }
    
    //system("pause");
    return 0;
}
2023/11/24 21:59
加载中...