比较字母大小

来源:互联网 发布:微信网络设置在哪里 编辑:程序博客网 时间:2024/05/18 00:32

题目描述


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

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



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

0 0