用数组指针处理50个不等长字符串。写一个函数对字符串按降序排序,然后在主函数输入这50个字符串,调用函数后,再输出这50个已经排好序的字符串。
子函数:
#include <iostream> using namespace std; #define N 50 void sort_str(char* p[],int n) { int i ,j,k; for (i = 0; i < n-1; i++) { k = i; for (j = i + 1; j < n; j++) { if (strcmp(p[j], p[k]) > 0) k = j; char*s = p[i]; p[i] = p[k]; p[k] = s; } } }
主程序:
int main(void) { char* p[N] = { 0 }; int i; for (i = 0; i < N; i++) { p[i] = new char[100]; cin >> p[i]; } sort_str(p,N); for (i = 0; i < N; i++) { cout << p[i] << endl; delete[]p[i]; } }