来源:2010年哈尔滨工业大学计算机研究生机试真题
题目描述:
输入一个字符串,长度小于等于200,然后将输出按字符顺序升序排序后的字符串。
输入:
测试数据有多组,输入字符串。
输出:
对于每组输入,输出处理后的结果。
样例输入:
bacd
样例输出:
abcd
代码如下:
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
int main()
{
char str[201];
while(gets(str))
{
int len=strlen(str);
sort(str,str+len);
puts(str);
}
return 0;
}
###笔记:
-
sort()函数,输出结果按升序排列;降序排列需要定义一个cmp函数,当cmp返回true时,表示cmp的第一个参数会排在第二个参数前。然后用调用sort函数的重载方式:sort(begin,end,cmp);
-
数组要保存结束符,长度应该比字符串的长度大1,此处数组定义为201,否则Runtime Error;
-
strlen():求字符串长度;
-
gets()可以接收空格,scanf()遇到空格、回车和Tab键都会输入结束,不能接收空格。