杭电题目2000

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2000

图片发自App


思路:先输入三个字符,将其转化成为ASCII码再进行比较。具体步骤:先定义其中一个字符为最大值,然后再逐一逐一进行比较得出结果。

出现的问题:题目中要求输入的数据有多组,但是我在考虑的时候不知道怎么去解决这个问题,就出现了知识空断区。

初次的错误代码如下:(只能判断三个字符,不能判断多组字符;输入数据处有空格,不符合题目要求)

图片发自App


解决方法:(1)把scanf()那里变成while(scanf()!=EOF),用来满足题目要输入多组数据的要求;

在scanf语句后加入getchar(),用来读取回车键,防止scanf把回车键当成字符输入;

把输入数据出的空格去掉。

改后的正确代码:


图片发自App



笔记:(1)但凡题目要求输入多组数据都要添加while(scanf()!=EOF)

    (2)getchar()有读入回车键的作用,可用来防止回车键被scanf函数读入,从而占用输入数据的空间

   

       

         

你可能感兴趣的:(杭电题目2000)