ACM题目————小A的计算器
Description
以往的操作系统内部的数据表示都是二进制方式,小A新写了一个操作系统,系统内部的数据表示为26进制,其中0-25分别由a-z表示。
  现在小A要在这个操作系统上实现一个计算器,这个计算器要能实现26进制数的加法运算。你能帮小A实现这个计算器吗?
Input
输入的第一行包括一个整数N(1<=N<=100)。
接下来的N行每行包括两个26进制数x和y,它们之间用空格隔开,每个数的位数最多为10位,我们可以保证相加的结果的位数最多也是10位。每个数会用
小A所设计的操作系统中的表示方法来表示,如:bsadfasdf。即每个数的各个位均由26个小写字母a-z中的一个来表示。
Output
输出x和y相加后的结果,结果也要用题目中描述的26进制数来表示。
Sample Input
4
ba cd
c b
b c
ba c
Sample Output
dd
d
d
bc
Hint
1.注意,26进制数的表示方式和10进制数一样,最右边是最低位。
  2.输入的两个数有可能有前缀0,即a,请在程序中进行处理。
  3.结果中如果出现前缀0,请自动滤除,除非结果就是0。如:结果为ab时,要输出b,因为a表示0。
用的蠢方法解决,用的方法和大数的加减法差不多。
#include <stdio.h>
#include <string.h> #define N 100
#define M 10 int main(void)
{
int n, i, j;
char a[M+], b[M+];
int lena, lenb; while (scanf("%d", &n) != EOF)
{
for(j=; j<n; j++)
{
scanf("%s%s", a, b); lena = strlen(a);
for (i=M-; i>=M-lena; i--)
a[i] = a[i-M+lena];
for (i=; i<M-lena; i++)
a[i] = 'a';
a[M] = '\0'; lenb = strlen(b);
for (i=M-; i>=M-lenb; i--)
b[i] = b[i-M+lenb];
for (i=; i<M-lenb; i++)
b[i] = 'a';
b[M] = '\0'; for (i=M-; i>=; i--)
{
int tmp = a[i] + b[i]-'a';
if (tmp > 'z')
{
a[i-] += ;
a[i] = (char)(tmp - );
}
else
a[i] = tmp;
} for (i=; i<M; i++)
{
if (a[i] != 'a')
break;
}
if (i == M)
printf("a\n");
else
printf("%s\n", a+i);
} break;
} return ;
}
ACM题目————小A的计算器的更多相关文章
- 1047: 小A的计算器
		
1047: 小A的计算器 时间限制: 1 Sec 内存限制: 128 MB提交: 124 解决: 105[提交][状态][讨论版] 题目描述 以往的操作系统内部的数据表示都是二进制方式,小A新写了 ...
 - 基于php基础语言编写的小程序之计算器
		
基于php基础语言编写的小程序之计算器 需求:在输入框中输入数字进行加.减.乘.除运算(html+php) 思路: 1首先要创建输入数字和运算符的输入框,数字用input的text属性,运算符用sel ...
 - 微信小程序-简易计算器
		
代码地址如下:http://www.demodashi.com/demo/14210.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.co ...
 - 九度oj题目1019:简单计算器
		
题目1019:简单计算器 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:6346 解决:2334 题目描述: 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达 ...
 - 九度oj 题目1340:小A的计算器
		
题目描述: 以往的操作系统内部的数据表示都是二进制方式,小A新写了一个操作系统,系统内部的数据表示为26进制,其中0-25分别由a-z表示. 现在小A要在这个操作系统上实现一个计算器,这个计算器要能实 ...
 - ACM题目————STL练习之 懒省事的小明(优先队列)
		
描述 小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.小明决定把所有的果子合成一堆. 因为小明比较懒,为了省力气,小明开始想点子了: 每一 ...
 - ACM题目————中缀表达式转后缀
		
题目描述 我们熟悉的表达式如a+b.a+b*(c+d)等都属于中缀表达式.中缀表达式就是(对于双目运算符来说)操作符在两个操作数中间:num1 operand num2.同理,后缀表达式就是操作符在两 ...
 - 小a的计算器
		
链接:https://ac.nowcoder.com/acm/contest/317/A来源:牛客网 小a的数学基础实在太差了,以至于他只会用计算器算数.他的计算器比较特殊,只有+,−,×,/+,−, ...
 - 九度OJ 1340:小A的计算器 (进制转换)
		
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:735 解决:202 题目描述: 以往的操作系统内部的数据表示都是二进制方式,小A新写了一个操作系统,系统内部的数据表示为26进制,其中0-2 ...
 
随机推荐
- JQuery-UI Dialog下使用服务器端按钮失效
			
目标:点按钮弹出div层,选择数据后自动隐藏div,将所选数据赋值到窗体. <div id="divWinPop"> //里面是要实现弹出框的代码,包括翻页.查找等. ...
 - Linux和Windows之间传递文件
			
由于自己的计算机的性能不足,代码只能在服务器上运行,要把代码搬到服务器上运行在没有root权限的情况下,本身就是一件不太容易的事情,我准备下次再写一下这方面的技巧.这篇博客,我只说比较一下几种在不同操 ...
 - Java基础之线程——管理线程同步代码块(BankOperation4)
			
控制台程序. 除了同步类对象的方法之外,还可以把程序中的语句或代码块制定为synchronized,这种方式更强大,因为可以指定哪个对象从语句或代码块的同步中获益,而不像同步方法那样仅仅是包含代码的对 ...
 - UITabBarController底层实现
			
1.首先要了解:任何控制器,都能添加子控制器 UIViewController里面有一个方法: - (void)addChildViewController:(UIViewContr ...
 - Idea 安装 lombok
			
idea 目前是Java开发者最流行的一款编辑器.为了让java开发更加的简便idea 也提供了lombok的插件. 插件的按钮方式为: 1.进入idea的.setting面板 2.按照以下图进行操作 ...
 - Swift游戏实战-跑酷熊猫 10 视差滚动背景
			
原理 实现 勘误 “实现”的视频中有个错误,如下 背景移动时有个错误,看红色部分,近景归位时,第二张图片的下标是1 if arrBG[0].position.x + arrBG[0].frame.wi ...
 - UVa10023手动开大数平方算法
			
题目链接:UVa 10023 import java.math.BigInteger; import java.util.Scanner; public class Main { public sta ...
 - 最近兰州的js风格写个插件和一个template engine
			
/* *@Product Name: Rational Framework Author: Calos Description: pager !important: pager */ (functio ...
 - 构造器Constructor是否可被override?
			
构造器Constructor是否可被override? 构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading.
 - CCF真题之字符串匹配
			
201409-3 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行.你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符:当选项关闭时,表示同一 ...