您的位置:首页 > 其它

a letter and a number(一封信和一个数字)

2018-01-27 20:12 411 查看
描述

we define f(A) = 1, f(a) = -1, f(B) = 2, f(b) = -2, … f(Z) = 26, f(z) = -26;

Give you a letter x and a number y , you should output the result of y+f(x).

我们定义f ( A ) = 1,f ( A ) = - 1,f ( B ) = 2,f ( B ) = - 2,…f ( Z ) = 26,f ( Z ) = - 26;

给你一个字母x和一个数字y,你应该输出y + f ( x )的结果。

输入

On the first line, contains a number T(0< T<=10000).then T lines follow, each line is a case.each case contains a letter x and a number y(0<=y<1000).

在第一行中,包含数字T ( 0 < T < = 10000 )。随后是T行,每行是一个大小写,每个大小写包含一个字母x和一个数字y ( 0≤y < 1000 )。

输出

for each case, you should the result of y+f(x) on a line

对于每种情况,都应该将y + f ( x )的结果放在一行中

样例输入

6

R 1

P 2

G 3

r 1

p 2

g 3

样例输出

19

18

10

-17

-14

-4

代码如下

#include< stdio.h>

int main()

{

int n,i,w,y; \这里的w负责控制转换英文字符为对应数字;

char A=’A’,a=’a’,x; \定义A为‘A’这个字符,a为‘a’这个字符;

scanf(“%d”,&n); \n组数据,循环n次;

while(n–)

{

scanf(“%s %d”,&x,&y); \x为第一个字符,y为数字;

if(x>=’a’&&x<=’z’) \if语句进行判断x这个字符是大写还是小写;

w=-(x-a+1); \如果是小写的话,a~z->1~26, -(x-a+1);

if(x>=’A’&&x<=’Z’)

w=x-A+1; \如果是大写的话直接相减 x-A+1 即可;

printf(“%d\n”,w+y); \最后输出 w+y,即可;

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息