记住…… Aug 25, 2005 基本类型的小于运算符是不能重载的 用错了后果可是很严重的哦…… 还是用functor吧。 //PKU 1256 AC //80K 140MS #include #include #include using namespace std; string STR; class Less_CHAR { public: bool operator() (const char &a,const char &b) const { if ( toupper(a) == toupper(b) ) return a < b; else return (toupper(a) < toupper(b)); } }; void Input() { cin >> STR; } void Permutate() { sort(STR.begin(),STR.end(),Less_CHAR()); do { cout << STR << endl; } while (next_permutation(STR.begin(),STR.end(),Less_CHAR())); } int main() { int i,iCase; cin >> iCase; for (i=0;i<iCase;++i) { Input(); Permutate(); } return 0; } Life