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