Problem Description
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).
Give you a letter x and a number y , you should output the result of y+f(x).
Input
On the first line, contains a number T.then T lines follow, each line is a case.each case contains a letter and a number.
Output
for each case, you should the result of y+f(x) on a line.
Sample Input
6 R 1 P 2 G 3 r 1 p 2 g 3
Sample Output
19 18 10 -17 -14 -4AC代码:#include<stdio.h> //#include<iostream> #include<math.h> //using namespace std; int main() { char x; int y,num,n; num=0; scanf("%d",&n); getchar(); while(n--) { // cin>>x>>y; scanf("%c %d",&x,&y);//没有getchar()时循环只有n/2次 ???为什么呢 getchar(); if(x>='A' && x<='Z') { num=x-64; } if(x>='a' && x<='z') { num=abs(x-122)-26; } printf("%d\n",num+y); } return 0; }