题目描述:

以往的操作系统内部的数据表示都是二进制方式,小A新写了一个操作系统,系统内部的数据表示为26进制,其中0-25分别由a-z表示。
 现在小A要在这个操作系统上实现一个计算器,这个计算器要能实现26进制数的加法运算。你能帮小A实现这个计算器吗?

输入:

输入的第一行包括一个整数N(1<=N<=100)。
 接下来的N行每行包括两个26进制数x和y,它们之间用空格隔开,每个数的位数最多为10位,我们可以保证相加的结果的位数最多也是10位。每个数会用小A所设计的操作系统中的表示方法来表示,如:bsadfasdf。即每个数的各个位均由26个小写字母a-z中的一个来表示。

输出:

输出x和y相加后的结果,结果也要用题目中描述的26进制数来表示。

样例输入:
4
ba cd
c b
b c
ba c
样例输出:
dd
d
d
bc
提示:

1.注意,26进制数的表示方式和10进制数一样,最右边是最低位。
 2.输入的两个数有可能有前缀0,即a,请在程序中进行处理。
 3.结果中如果出现前缀0,请自动滤除,除非结果就是0。如:结果为ab时,要输出b,因为a表示0。

 #include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm> char ta[], tb[], tc[];
int na[],nb[],nc[]; int main(int argc, char const *argv[])
{
int n;
//freopen("input.txt","r",stdin);
while(scanf("%d",&n) != EOF) {
while(n--) {
scanf("%s %s",ta,tb);
int lena = strlen(ta);
int lenb = strlen(tb);
memset(na,,sizeof(na));
memset(nb,,sizeof(nb));
memset(nc,,sizeof(nc)); for(int i = lena - , j = ; i >= ; i--, j++) {
na[j] = ta[i] - 'a';
}
for(int i = lenb - , j = ; i >= ; i--, j++) {
nb[j] = tb[i] - 'a';
}
int ci = ;
for(int i = ; i < ; i++) {
int ben = na[i] + nb[i] + ci;
nc[i] = ben % ;
ci = ben/;
}
int j = ;
int isBegin = false;
for(int i = ; i >= ; i--) {
if(!isBegin && nc[i] == ) {
continue;
}
else if(!isBegin && nc[i] != ) {
isBegin = true;
tc[j++] = nc[i] + 'a';
}
else if(isBegin) {
tc[j++] = nc[i] + 'a';
}
}
if(j == ) {
tc[j++] = 'a';
}
tc[j] = '\0';
puts(tc);
}
}
return ;
}

注意提示3

最新文章

  1. 【Tomcat】解决Eclipse无法添加Tomcat Service问题
  2. Swift #function 和 _cmd (Objective-C)
  3. View加载过程
  4. Idea CheckStyle 安装
  5. [转] js == 与 === 的区别
  6. 打开office弹出steup error 的解决办法
  7. SQL跨表更新
  8. Ranklib源码剖析--LambdaMart
  9. Android studio 使用问题汇总
  10. 【&#9733;】微信之于QQ的市场哲学
  11. 阿里云Hadoop集群DataNode连接不上NameNode
  12. flutter Dialog里ListView的问题
  13. Centos下,Docker部署Yapi接口管理平台(详细得令人发指)
  14. Flask框架(1)-程序基本结构
  15. Hive 数仓中常见的日期转换操作
  16. 机器学习实战(Machine Learning in Action)学习笔记————09.利用PCA简化数据
  17. 关于varchar(max), nvarchar(max)和varbinary(max)
  18. Python面向对象(类的成员之方法)
  19. 解释一下文件/etc/fstab的内容
  20. 各行业最受欢迎的编程语言,硬件最青睐C和C++

热门文章

  1. 【实用】Html5实现文件异步上传
  2. openssl 安装配置
  3. [Tomcat]如何清理缓存
  4. SQL server 数据库基础语句 查询语句
  5. Maven添加本地依赖
  6. Django ORM 一对一,一对多,多对多, 添加,批量插入和查询
  7. webStorm Ctrl+s 自动格式化 然后 保存 用宏命令
  8. Robot Framework(十) 执行测试用例——测试执行
  9. VC-基础:隐藏不安全函数的warning-_CRT_SECURE_NO_WARNINGS
  10. delphi win7 and high path