HDU2000(ASCII码排序)
#include<stdio.h>
#include<stdlib.h>
int main()
{
char a[100];
char temp;
while ((gets(a)) != NULL)
{
if (a[0] > a[1])
{
temp = a[1];
a[1] = a[0];
a[0] = temp;
}
if (a[0] > a[2])
{
temp = a[2];
a[2] = a[0];
a[0] = temp;
}
if (a[1] > a[2])
{
temp = a[2];
a[2] = a[1];
a[1] = temp;
}
printf("%c %c %c\n", a[0], a[1], a[2]);
}
return 0;
}
备注:本题目可以用下式来替换输入
while (scanf("%s",a)!=EOF)
一.gets()函数
gets从标准输入设备读字符串函数,其可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。
1.功能:
从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为‘\0’空字符,并由此来结束字符串。
2.返回值:
(1)读入成功,返回与参数buffer相同的指针;
(2)读入过程中遇到EOF(End-of-File)或发生错误,返回NULL指针。所以在遇到返回值为NULL的情况,要用ferror或feof函数检查是发生错误还是遇到EOF。