实验10_9_指针数组进阶
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char* strPtr[105];
char* str = (char*)malloc(sizeof(char*) * 100005);
char* head = str;
int n;
scanf("%d", &n);
getchar();
int i, j;
char ch;
for (i = 0; i < n; i++)
{
for (j = 0;; j++)
{
scanf("%c", &ch);
if (ch == '\n')
{
*(head + j) = '\0';
break;
}
*(head + j) = ch;
}
strPtr[i] = head;
head = head + j + 1;
}
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]);
}