在主函数中输入10个等长的字符串。用另一函数对它们排序。然后在主函数输出这10个已排好序的字符串。要求采用指向一维数组的指针作函数参数,该排序函数的声明如下:void sort(char (*s)[20]);
思路:
1.输入字符串
2.使用冒泡法进行排序
3.输出
#include <stdio.h>
#include <string.h>
#define num 10
char zfc[20][20];
void sort(char *s[20]); // 指针数组
int main()
{
char *str[20];
int i;
for(i=0; i<num; i++)
str[i] = zfc[i];
for(i=0; i<num; i++)
scanf("%s", str[i]);
sort(str);
return 0;
}
void sort(char *s[20])
{
int i,j;
char *temp;
for(i=0; i<num-1; i++)
for(j=0; j<num-1-i; j++)
{
if(strcmp(*(s+j), *(s+j+1)) > 0)
{
temp = *(s+j);
*(s+j) = *(s+j+1);
*(s+j+1) = temp;
}
}
for(i=0;i<num;i++)
printf("%s\n",s[i]);
}