比较字母大小


题目描述


任意给出两个英文字母,比较它们的大小,规定26个英文字母A,B,C.....Z依次从大到小。

输入要求

第一行输入T,表示有T组数据;接下来有T行,每行有两个字母,以空格隔开;

输出要求

输出各组数据的比较结果,输出格式见样例输出;(注意输出严格按照输入的顺序即输入是A B,输出时必须是A>B)

输入样例

3
A B
D D
Z C

输出样例

A>B
D=D
Z<C

解析

先不多说,直接上代码(C语言版),提供两种判断!

#include <stdio.h>
int main()
{
 int T;
 char a, b;
 scanf("%d",&T);
 while(T--)
 {
  getchar();
  scanf("%c %c",&a,&b);//不写gatchar()此处可以换成scanf("\n%c %c",&a,&b);
  /*if(a == b)
   printf("%c=%c\n",a,b);
  if(a < b)
   printf("%c>%c\n",a,b);
  if(a > b)
   printf("%c<%c\n",a,b);*/
  (a<=b)?((a == b)?printf("%c=%c\n",a,b):printf("%c>%c\n",a,b)):printf("%c<%c\n",a,b);
 }
 return 0;
}

题目看上去难度不大,其实有需要大家注意的细节,第一:大写字母从A到Z在ASCII编码中是从小到大的顺序,而题目要求是从A到Z时从大到小的顺序,需要注意;第二,由于处理的数据为字符型,所以需要注意在取值时的细节,具体说,就是在输入循环次数T后,肯定要回车表示该数据输入完毕,而在接下来读入字母的时候这个回车就会被读入,从而使程序无法读入预设的数据,举例说,在输入循环次数3后,敲回车,此时会将回车读入 a 变量中保存,从而使数据读入错误。该细节的解决方法已在代码中用红色标记。

在注意到以上细节后,解决这个问题已经是小菜一碟啦!



个人见解,仅供参考,希望大家批评指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值