nyoj--273字母小游戏 nyoj--217a letter and a number

论坛 期权论坛 脚本     
匿名技术用户   2020-12-28 13:23   11   0

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
-4
  1. #include <stdio.h>
  2. int main()
  3. {
  4. int T;
  5. scanf("%d",&T);
  6. getchar();
  7. while (T--)
  8. {
  9. char x;
  10. int y;
  11. int sum;
  12. sum=0;
  13. scanf("%c",&x);
  14. scanf("%d",&y);
  15. getchar();
  16. if(x>='A' && x<='Z')
  17. printf("%d\n",y+(x-64));
  18. else if(x>='a'&& x<='z')
  19. printf("%d\n",y-(x-96));
  20. }
  21. return 0;
  22. }

字母小游戏

时间限制:1000 ms | 内存限制:65535 KB
难度:0
描述
给你一个乱序的字符串,里面包含有小写字母(a--z)以及一些特殊符号,请你找出所给字符串里面所有的小写字母的个数, 拿这个数对26取余,输出取余后的数字在子母表中对应的小写字母(0对应z,1对应a,2对应b....25对应y)。
输入
第一行是一个整数n(1<n<1000)表示接下来有n行的字符串m(1<m<200)需要输入
输出
输出对应的小写字母 每个小写字母单独占一行
样例输入
2
asdasl+%$^&ksdhkjhjksd
adklf&(%^(alkha
样例输出
q
j
#include <stdio.h>
#include <string.h>
int main()
{
 int n;
 scanf("%d",&n);
  getchar();
 while (n--)
 {
  int len,i,k=0;
  char m[220];
  gets(m);
  len=strlen(m);
  for(i=0;i<len;i++)
   if(m[i]>='a'&&m[i]<='z')
    k++;
   k=k%26;
   if(k==0)
    printf("%c\n",122);
   else
    printf("%c\n",k+96);
 }
 return 0;
}


这两道都是与字符有关的题,都需要读入字符,而读取字符涉及到了空格键或者是回车键的问题,因为回车键和空格键本身就是字符,所以系统就会把回车键或者空格键当成数据读入,造成程序运行时数据丢失缺少无法运算的情况,我在做这两道题时遇到了同样的 情况,所以把这两道题放在一起。
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP