思路:
1. 分四类讨论
2. 得到加和减计算方法
3. 前导0删除与符号删除
#include#include #include using namespace std; // 输入4进制数格式判断 bool judge(string a) { int i = 0; if(a[i] == '-' || a[i] == '+') i++; if(a[i] == '0' && a.size()-1>i) return false; for(;i lenb ? lena : lenb; string res = ""; int i; for(i=0;i lenb) res += a[i]; else res += b[i]; } int c = 0; for(i=0;i '3'){ res[i] -= 4; c = 1; }else c = 0; } if(c == 1) res += '1'; reverse(res); return res; } // 删除前导0 void deletefrontzero(string &res) { string temp; bool s = true; int len = res.size(); for(int i=0;i =0 && a[i]==b[i]) i--; if(a[i] >x1; cout<<"数2:"; cin>>x2; }while(!judge(x1)||!judge(x2)); cout<
运行结果如下图所示:
![]()