WA求助
查看原帖
WA求助
253765
houpingze楼主2020/7/10 16:15

代码:

#include<iostream>
#include<cmath>
typedef unsigned long long ull;
using namespace std;
int n,cnt,m;
int n_ten(string s){
    int um=0;
    for(int i=0;i<s.size();i++){
        if(s[i]>='0'&&s[i]<='9') um+=pow(n,s.size()-i-1)*(s[i]-'0');
        else um+=pow(16,s.size()-i-1)*(s[i]-'A'+10);
    //  cout<<pow(16,s.size()-i-1)*(s[i]-'A'+10)<<endl;
    } 
    return um;
}
string ten_two(int s){
    string c="",a="";
    int x=0;
    while(s){
        a[x]=s%2,s/=2;
        a[x]+='0';
        x++;
    }
    for(int i=x-1;i>=0;i--){
        c+=a[i];
    }
    int l=c.size();
    if(l==1) c="000000000000"+c;
    if(l==2) c="00000000000"+c;
    if(l==3) c="0000000000"+c;
    if(l==4) c="000000000"+c;
    if(l==5) c="00000000"+c;
    if(l==6) c="0000000"+c;
    if(l==7) c="000000"+c; 
    if(l==8) c="00000"+c;
    if(l==9) c="0000"+c;
    if(l==10) c="000"+c;
    if(l==11) c="00"+c;
    if(l==12) c="0"+c;
    return c;
}
int main(){
//  cout<<ten_two(10)<<endl;
//  cout<<n_ten("AAA")<<endl;
    cin>>n;
    n++;
    while(n--){
        if(n==1) break;
        string a,b;
        char s;
        cin>>a>>s>>b;
    //  cout<<a<<endl;

        if(s=='+'){
            int aa=n_ten(a),bb=n_ten(b);
        //  cout<<aa<<' '<<bb<<endl;
            int sum=aa+bb;
            cout<<ten_two(aa)<<" + "<<ten_two(bb) <<" = "<<sum<<endl;
        }else{
            int aa=n_ten(a),bb=n_ten(b);
            int sum=aa-bb;
            cout<<ten_two(aa)<<" - "<<ten_two(bb) <<" = "<<sum<<endl;
        }
        if(n==1) break;
    } 
        string a,b;
        char s;
        cin>>a>>s>>b;
    //  cout<<a<<endl;

        if(s=='+'){
            int aa=n_ten(a),bb=n_ten(b);
        //  cout<<aa<<' '<<bb<<endl;
            int sum=aa+bb;
            cout<<ten_two(aa)<<" + "<<ten_two(bb) <<" = "<<sum;
        }else{
            int aa=n_ten(a),bb=n_ten(b);
            int sum=aa-bb;
            cout<<ten_two(aa)<<" - "<<ten_two(bb) <<" = "<<sum;
        }
}
2020/7/10 16:15
加载中...