现在的位置: 首页 > 综合 > 正文

比较字母大小

2018年05月03日 ⁄ 综合 ⁄ 共 809字 ⁄ 字号 评论关闭


题目描述



任意给出两个英文字母,比较它们的大小,规定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 变量中保存,从而使数据读入错误。该细节的解决方法已在代码中用红色标记。

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



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

抱歉!评论已关闭.