程序:#include <iostream>
using namespace std;
int main(void){
char *pstr[5];//指针数组
char *ptmp = new char[255];
for (int i = 0; i != 5; ++i){
*(pstr + i) = new char [255];//分配空间
cin >> *(pstr + i);//输入字符串
}
//排序: 升序
for (int i = 0; i != 4; ++i){
for (int j = i; j != 5; ++j){
if (strcmp(*(pstr + i), *(pstr + j)) < 0){
strcpy(ptmp, *(pstr + i));
strcpy(*(pstr + i), *(pstr + j));
strcpy(*(pstr + j), ptmp);
}
}
}
cout << "按升序输出为: " << endl;
//释放
delete [] ptmp;
//输出并释放
for (int i = 0; i != 5; ++i){
cout << *(pstr + i) << endl;
delete *(pstr + i);
}
system("PAUSE");
return 0;
}运行截图:说明一下:C++里面字符串排序默认以字母ASCII码进行大小比对, 并非按照字符串长短比对, 这点请楼主注意下如果需要长短比对, 楼主可以提出要求, 偶可以重新写过
温馨提示:答案为网友推荐,仅供参考