读入N个字符串,并且按照升序将其排序后输出
请问用指针的方法(交换字符首串地址)怎么写啊?
读入N个字符串,并且按照升序将其排序后输出
请问用指针的方法(交换字符首串地址)怎么写啊?
定义指针数组,然后交换首地址
#include <stdio.h>
int main()
{
char *str[1000];
int N;
printf("请输入字符串数量:");
scanf("%d",&N);
getchar();
for(int i=0;i<N;i++)
{
str[i] = (char*)malloc(sizeof(char)*100);
gets(str[i]);
}
for(int i=0;i<N-1;i++)
{
for(int j=0;j<N-i-1;j++)
{
if(strcmp(str[j],str[j+1]) > 0)
{
char *p = str[j];
str[j] = str[j+1];
str[j+1] = p;
}
}
}
for(int i=0;i<N;i++)
{
printf("%s\n",str[i]);
free(str[i]);
}
return 0;
}