a letter and a number(一封信和一个数字)
描述
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;
}
總結
以上是生活随笔為你收集整理的a letter and a number(一封信和一个数字)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 光动力治疗多少钱啊?
- 下一篇: 如何创建Java程序