杭电2000 ASCII码排序(待续)

几个比较重要的error
1.听了学长的没有再用void main,结果结尾忘了return 0,但是竟然也编译运行成功并提交了,ole
2.return 0后的分号用的全角符号,所以编译出现三个error
3.程序里明明不用if...else...,直接用if就好了,程序累赘了
4.没有考虑输入的字符中有相同的的情况,最后应该比较a和b,而不是a和c。如果输入332就是323不对了
*5.不知道scanf输入char字符时回车也会被当成字符。。。
所以循环开始的地方要getchar读取回车。。。。
Problem Description
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。
 
Input
输入数据有多组,每组占一行,有三个字符组成,之间无空格。
 
Output
对于每组输入数据,输出一行,字符中间用一个空格分开。
直接最后ac的吧:
#include<stdio.h>  
int main()  
{  
    char a,b,c,t;  
    while(scanf("%c%c%c",&a,&b,&c)!=EOF)  
    {  
        getchar(); //注意需要抵掉一个回车键  
        if(a>b)  
        {  
            t=a;  
            a=b;  
            b=t;  
        }  
        if(b>c)  
        {  
           t=b;  
           b=c;  
           c=t;  
        }  
        if(a>b)  
        {  
           t=a;  
           a=b;  
           b=t;  
        }  
        printf("%c %c %c\n",a,b,c);  
    }  
    return 0;  
}  



            
阅读更多
文章标签: c语言 vc 6 杭电
上一篇杭电 2005 第几天?
下一篇有关Cprimerplus的P143上的power.c(构建并运用幂函数)里一个没看懂的转义符号%g
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭