上面是题目要求以及界面
题目并不难,一般多调试几遍都可以做出来
算是对我C++能力的入门级检测吧
自己做的几个测试案例都可以过
提交上去不行,可能是代码格式不对
实在不理解calcute("Test","Test")和return"Test"是什么意思
百度了代码格式也没有搜到
下午在认真找一下吧
比较恶心的事题目只能提交一次。。。
贴上我的代码:
#include <stdio.h>
#include <iostream>
#include <string>
#include <cctype>
#include <vector>
using namespace std;
class Test {
public:
static string calculate (string x,string y)
{
int i = x.size();
int j = y.size();
int k = (i>j?i:j)+1;
vector<int> res(k,0);
int flag = 0;
k=0,i--,j--;
while(i>=0 && j>=0){
if(isalpha(x[i]))
res[k] += x[i]-'a'+10;
else res[k] += x[i]-'0';
if(isalpha(y[j]))
res[k] += y[j]-'a'+10;
else res[k] += y[j]-'0';
if(res[k] > 19)
res[k+1]++,res[k] -= 20;
i--;
j--;
k++;
}
while(i>=0){
if(isalpha(x[i]))
res[k] += x[i]-'a'+10;
else res[k] += x[i]-'0';
if(res[k] > 19)
res[k]-=20,res[k+1]++;
k++;
i--;
}
while(j>=0){
if(isalpha(y[j]))
res[k++] += y[j--]-'a'+10;
else res[k++] += y[j--]-'0';
if(res[k] > 19)
res[k]-=20,res[k+1]++;
k++;
j--;
}
vector<int>::iterator it = res.end()-1;
if(*it != 0)
cout << *it;
for(vector<int>::iterator it=res.end()-2;
it>=res.begin(); it--)
if(*it > 9)
cout << char(*it-10+'a');
else cout << *it;
return "Test";
}
};
//start 提示:自动阅卷起始唯一标识,请勿删除或增加。
int main()
{
string x, y;
while(cin >> x >> y)
calculate(x,y);
cout<<Test::calculate("Test","Test")<<endl;
}
//end //提示:自动阅卷结束唯一标识,请勿删除或增加。