输入5个字符串存放在指定二维字符数组中,要求使用指针数组在不改变原始二维字符数组的前提下,实现按从小到大排序后输出。
供参考:
#include<stdio.h>
#include<string.h>
void sort(char* p[],int n)
{
int i, j;
char* tmp;
for (i = 0; i < n - 1; i++)
for (j = i + 1; j < n; j++)
if (strcmp(p[i], p[j]) > 0) //从小到大
{
tmp = p[i]; p[i] = p[j]; p[j] = tmp;
}
}
int main()
{
int i;
char* p[5], str[5][80];
printf("Please enter 5 string:\n");
for (i = 0; i < 5; i++) {
scanf("%s", str[i]);
p[i] = str[i];
}
sort(p, 5);
printf("Now, the sequence is:\n");
for (i = 0; i < 5; i++)
printf("p:%s str:%s\n", p[i], str[i]);
return 0;
}