作业帮 > 综合 > 作业

我的代码:#include#includeusing namespace std;int main(){string a

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/05 21:53:48
我的代码:
#include
#include
using namespace std;
int main()
{
string a,b;
string c="abcdefghij";
while(cin>>a>>b)
{
if(a.length()=0;n1--,n2--)
{
if(a[n1]-39>'9')a[n1]=a[n1]-39;
if(b[n2]-39>'9')b[n2]=b[n2]-39;
a[n1]=char(a[n1]+(n2>=0?b[n2]-'0':0));
if(a[n1]-'0'>=20)
{
a[n1]=char(int((a[n1]-'0')%20)+'0');
if(n1)
a[n1-1]++;
else
{
a[n1]=c[int(a[n1]-'9')-1];
a='1'+a;
}
}
if(a[n1]>'9')
{
a[n1]=c[int(a[n1]-'9')-1];
}
}
cout
虽然你说这是个水题,但是你的编码显示你的水平还不至于把这种题目看作水题
我也不想看你写的代码了,只给你点建议:
1.做加法前转换到数值,某一位数值确定后再转回去,而进位用数值来保存:'0'转为0,'a'转为10,依此类推.你把'a'-'j'转换到接在'9'后面然后,每次去作加法,每次都要再去做处理,效率低,可读性也差
2.定义两个函数用于转换/逆转,而不是写得这样一团糟
再送你几个测试数据:
0,0
1,0
00001,222
jjjjj,1
jjjjj,jjjjj
还有100个j和100个j