杭电2000 ASCII码排序(待续)

本文记录了一个简单的字符排序程序从出现错误到最终AC的过程,总结了常见的编程错误,如使用全角符号导致编译错误、不必要的if...else...结构、未处理相同字符输入等情况,并给出了正确的实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

几个比较重要的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;  
}  




                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值