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
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;
}
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;
}
相关文章推荐
- 关于Ext.form.NumberField中输入一个超大数字,失去焦点后变成另一个数字的bug的处理
- DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字
- NYOJ 217 a letter and a number
- NYOJ---a letter and a number ---215
- 位运算-Single Number II(给定一个数组,除了一个数字出现一次,其他都出现三次,求出现一次的数)
- hacking 麦步手表之(4)制作一个大数字表盘xzy-big-number
- [LeetCode] Reach a Number 达到一个数字
- nyoj 217 a letter and a number
- 给定一个十进制的正整数number,选择从里面去掉一部分数字,希望保留下来的数字组成的正整数最大。
- Find a number HNUST OJ 1517 (位运算 判断一列数字中出现的唯一一个奇数数字)
- DecimalFormat: NumberFormat 的一个具体子类,用于格式化十进制数字。
- 南阳 oj 语言入门 a letter and a number
- Find a number HNUST OJ 1517 (位运算 判断一列数字中出现的唯一一个奇数数字)
- NYOJ - a letter and a number
- Find a number HNUST OJ 1517 (位运算 判断一列数字中出现的唯一一个奇数数字)
- 南阳OJ-题目217:a letter and a number
- a letter and a number
- a letter and a number
- Find a number HNUST OJ 1517 (位运算 判断一列数字中出现的唯一一个奇数数字)
- Find a number HNUST OJ 1517 (位运算 判断一列数字中出现的唯一一个奇数数字)