参考如下【使用 gets 函数】:
#include<stdio.h>
#include<string.h>
#include<malloc.h>
void sort(char * name[], int n);
void print(char * name[], int n);
int main()
{
int n;
printf("input n: ");
scanf("%d", &n);
fflush(stdin); // 清空输入缓冲区
char* name[n];
for (int i = 0; i < n; i++)
{
name[i]=(char *)malloc(sizeof(char)*100); // 为每个指针申请开设100字符的存储空间
gets(name[i]);
}
sort(name, n);
print(name, n);
return 0;
}
void sort(char * name[], int n)
{
int i,j,noswap;
char * t;
for(i=0;i< n-1; i++)
{
noswap=1;
for(j=n-1;j>i;j--)
if(strcmp(name[j-1], name[j]) > 0)
{
t=name[j-1];
name[j-1]=name[j];
name[j]=t;
noswap=0;
}
if(noswap)
break;
}
}
void print(char * name[], int n)
{
printf("\noutput:\n");
for (int i = 0; i < n; i++)
{
printf("%s\n", name[i]);
}
}
如有帮助,欢迎采纳哈!