a letter and a number

题目217
a letter and a number
时间限制:3000 ms | 内存限制:65535 KB
难度:1
描述
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).
输入
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).
输出
for each case, you should the result of y+f(x) on a line
样例输入
6
R 1
P 2
G 3
r 1
p 2
g 3样例输出
19
18
10
-17
-14

 1 #include<stdio.h>
 2 
 3 
 4 
 5  int main(){
 6      int T;
 7       scanf("%d",&T);
 8         while(T--){
 9             int y;
10              char x;
11          getchar();  //过滤空格 
12         scanf("%c %d",&x,&y);
13         
14             if(x>='a'&&x<='z')
15         printf("%d
",-(x-96)+y);
16            if(x>='A'&&x<='Z')
17        printf("%d
",(x-64)+y);
18          
19         
20             
21         }
22          
23          return 0;
24  }*/
25 //采用函数调用 
26  #include<stdio.h>
27   int f( char x){
28       if(x>='a'&&x<='z')
29         return (1);
30            if(x>='A'&&x<='Z')
31          return (0);}
32    int main(){
33          int T;
34           scanf("%d",&T);
35           
36    while(T--){
37        int y;
38              char x;
39         getchar();
40         
41           scanf("%c %d",&x,&y);
42         if(f(x) )   printf("%d
",-(x-96)+y);
43          if(f(x)==0)      printf("%d
",(x-64)+y);
44   } 
45          
46               return 0; 
47                  } 
48  
原文地址:https://www.cnblogs.com/acmgym/p/3691886.html