能否请大神帮我看看 这段代码为什么错了呀?是HDU的一道 题,一直困惑啊 才入门 不知道哪里错了,请大神指导一下。
```#include
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;
}
你的程序需ctrl+z结束。别的没问题
格式符“%c” 在输入时不能有空格,要连续输入比如:ABC<回车>
ZXY<回车>
X Y Z
可能是scanf没有读入空格的原因吧。
如果样例输入里字符之间有空格的话,应该scanf中的%c之间也用空格间隔。
没有见到你的题目描述,推测。
while(scanf("%c%c%c",&a,&b,&c)!=EOF)什么意思啊
scanf的返回值是 int 输入个数 EOF好像可能不一定也许是-1;
while 是一直成立的
int main()
{
int t;
char a,b,c;
while(scanf("%c%c%c",&a,&b,&c)!=EOF)
{
getchar();//处理输入时候的回车
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;
}