2055 签到题

来源:互联网 发布:浅谈移动通信网络优化 编辑:程序博客网 时间:2024/05/01 22:26
An easy problemTime Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 20390    Accepted Submission(s): 13556Problem Descriptionwe 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).InputOn the first line, contains a number T.then T lines follow, each line is a case.each case contains a letter and a number.Outputfor each case, you should the result of y+f(x) on a line.Sample Input6R 1P 2G 3r 1p 2g 3Sample Output191810-17-14-4Author8600Source校庆杯Warm UpRecommendlinle
#include<stdio.h>int cal(void){    char x;int y;    scanf("%c %d",&x,&y);    return x>='A'&&x<='Z'?(x-'A'+1+y):(-(x-'a'+1)+y);}int main(void){   // freopen("E:\\test.txt","r",stdin);    int T;    while(~scanf("%d",&T))    {        for(int i=1;i<=T;i++)        {            getchar();            printf("%d\n",cal());        }    }    return 0;}
0 0