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

描述
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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

beyond谚语

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值