首页 > 其他 > 详细

HDoj 2055 An easy problem

时间:2020-04-15 10:08:58      阅读:59      评论:0      收藏:0      [点我收藏+]
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).
 

 

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 -4
 

 

Author
8600
 

 

Source
 

 

Recommend
linle   |   We have carefully selected several similar problems for you:  2071 2056 2057 2058 2061 
 
 
 
 
 
注意吸收空格
C语言代码如下:
#include<stdio.h>
int main()
{
    int n=0;
    int y;
    char x;
    scanf("%d",&n);
    getchar();              //注意一定要加getchar();防止后面的scanf(%c)会吸收空格
    int hash[150];
    for(int i=0;i<26;i++)
    {
        hash[A+i]=i+1;
        hash[a+i]=-1*(i+1);
    }
    for(int i=0;i<n;i++)
    {
        scanf("%c",&x);       //这句后面不用getchar(),因为%d不会误吸getchar()
        scanf("%d",&y);
        getchar();           //注意这里也一定要加getchar(),防止下一轮循环的scanf("%c")会吸收空格
        printf("%d\n",hash[(int)x]+y);
    }
}

 

HDoj 2055 An easy problem

原文:https://www.cnblogs.com/wzmm/p/12703175.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!