69,371
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int cmp(const void* l, const void* r)
{
return strlen(*(char**)l) > strlen(*(char**)r);
}
int main(int argc, char* argv[])
{
char* data[] = {"abcde", "abcd", "a", "ab", "abc"};
int i;
qsort(data, sizeof(data)/sizeof(data[0]), sizeof(data[0]), cmp);
for (i = 0; i != sizeof(data)/sizeof(data[0]); ++i)
printf("%s\n", data[i]);
return 0;
}
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
class grt_cls
{
public:
bool operator () (const string &a, const string &b)
{
return(a.size() > b.size());
}
};
int main()
{
vector <string> svec;
string str;
while (cin >> str)
svec.push_back(str);
sort(svec.begin(), svec.end(), grt_cls() );
for (vector<string>::iterator iter = svec.begin(); iter != svec.end(); iter++)
cout << *iter << " ";
cout << endl;
system("pause");
return 0;
}