题目
用数组指针处理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];}
}