标题:简单的c语言问题,ascii值排序
只看楼主
hisia_
Rank: 2
等 级:论坛游民
帖 子:45
专家分:26
注 册:2016-1-24
结帖率:72.73%
已结贴  问题点数:5 回复次数:2 
简单的c语言问题,ascii值排序
ASCII码排序

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 165957    Accepted Submission(s): 66904


Problem Description
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。
 

Input
输入数据有多组,每组占一行,有三个字符组成,之间无空格。
 

Output
对于每组输入数据,输出一行,字符中间用一个空格分开。
 

Sample Input
qwe
asd
zxc
 

Sample Output
e q w
a d s
c x z
 


能否请大神帮我看看 这段代码为什么错了呀?是HDU的一道 题,一直困惑啊 才入门 不知道哪里错了,请大神指导一下

程序代码:
#include <stdio.h>
int main()
{
  int t;
  char a,b,c;
  while(scanf("%c%c%c",&a,&b,&c)!=EOF)
  {
    if(a>b)
    {
      t=a;
      a=b;
      b=t;
    }
    if(a>c)
    {
      t=a;
      a=c;
      c=t;
    }
    if(b>c)
    {
      t=b;
      b=c;
      c=t;
    }
    printf("%c %c %c\n",a,b,c);
  }

  return 0;
}
搜索更多相关主题的帖子: Memory c语言 Java 
2017-03-28 23:25
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:3 

//while(scanf("%c%c%c",&a,&b,&c)!=EOF)
while(scanf(" %c %c %c",&a,&b,&c)!=EOF)
2017-03-29 07:04
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
得分:3 
代码没错,只是你自己都没明白自己写的东西罢了
while(scanf("%c%c%c",&a,&b,&c)!=EOF)          EOF   end of file    是文件结束的标志,Windows下  组合键“CTRL + Z”结束就好
示例:



scanf 输入字符很多人习惯在输入后来一次回车(Enter),产生的\n 也会停留在输入缓冲区中,下次调用 scanf 时就会直接读到这个'\n',而不是等待你再次输入

如果你嫌每次“CTRL + Z”结束麻烦的话,就在每次输入完成后清空一下输入缓冲区   fflush(stdin);


或者按照楼上的方法   scanf("%c%c%c",&a,&b,&c)!=EOF         在%c前面加上一个空格来消除上一个'\n',怎么加根据你的输入习惯,按照题目示例只要在第一个%c前加个空格就好  scanf(" %c%c%c",&a,&b,&c)!=EOF
要是一个一个字符输如的话就这样 scanf(" %c %c %c",&a,&b,&c)!=EOF


[此贴子已经被作者于2017-3-29 10:58编辑过]


三十年河东,三十年河西,莫欺少年穷!
2017-03-29 10:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-475605-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.097125 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved