BUPT 实验10_10_动态数组进阶

  • Post author:
  • Post category:其他




实验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 版权协议,转载请附上原文出处链接和本声明。