【SWUSTOJ】OJ解析(学习日记(自用
1154: 字符大小写转换
第一次提交:
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--){
string str;
cin>>str;
sort(str.begin(),str.end());
for(int i=0;i<str.size();i++)
str[i]=tolower(str[i]);
cout<<str<<endl;
}
return 0;
}
OJ上的错误提示(我好爱这个贴心的提示):
于是发现了问题:
我先用sort函数进行排序;再用tolower函数进行转化,没有考虑输入的大小写字母的ACSII大小,wrong answer.应该先转化再排序。
改之后:
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--){
string str;
cin>>str;
for(int i=0;i<str.size();i++)
str[i]=tolower(str[i]);
sort(str.begin(),str.end());
cout<<str<<endl;
}
return 0;
}
END.