实验10_10_动态数组进阶
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char *str=(char *)malloc(sizeof (char*)*1000);
int n;
scanf("%d",&n);
char **strPtr=(char **)malloc(sizeof (char **)*n);
getchar();
int i,j;
char ch;
for(i=0;i<n;i++)
{
for(j=0;;j++)
{
scanf("%c", &ch);
if(ch=='\n')
{
*(str+j)='\0';
break;
}
*(str+j)=ch;
}
char *p=(char *)malloc(sizeof (char *)*j);
strcpy(p,str);
*(strPtr+i)=p;
}
int Min;
char* tempP = NULL;
for (i = 0; i < n - 1; i++)
{
Min = i;
for (j = i + 1; j < n; j++)
if (strcmp(strPtr[Min], strPtr[j]) > 0)
Min = j;
if (Min != i)
{
tempP = strPtr[i];
strPtr[i] = strPtr[Min];
strPtr[Min] = tempP;
}
}
for (i = 0; i < n; i++)
printf("%s\n", strPtr[i]);
}
版权声明:本文为m0_62121252原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。