指標與字串排序

iamzxf發表於2014-12-08

(1)   輸入三個字串,按從小到大的順序輸出。

#include <stdio.h>
#include <string.h>
//輸入三個字串,按從小到大的順序輸出。

int main()
{
	char str[3][100];
	int i,j;
	char temp[100];

	for(i=0;i<3;i++)
		gets(str[i]);

	for(i=0;i<3;i++)
	{
		for(j=i+1;j<3;j++)
		{
			if(strcmp(str[i],str[j])>0)
			{
				strcpy(temp,str[i]);
				strcpy(str[i],str[j]);
				strcpy(str[j],temp);
			}
		}
	}
	
	printf("the result is:\n");

	for(i=0;i<3;i++)
		printf("%s\n",str[i]);

	return 0;
}

藉助指標實現,程式碼如下:

#include <stdio.h>
#include <string.h>
//輸入三個字串,按從小到大的順序輸出。

int sort(char *str[], int n)
{
	
	int i,j;
	char *temp;
		
	for(i=0;i<n;i++)
	{
		for(j=i+1;j<n;j++)
		{
			if(strcmp(str[i],str[j])>0)
			{
				temp=str[i];
				str[i]=str[j];
				str[j]=temp;				
			}
		}
	}

	printf("the result is:\n");

	for(i=0;i<3;i++)
		printf("%s\n",str[i]);

	return 1;
}

int main()
{
	char *str[3]={"hello","ilove","an apple"};

	sort(str,3);

	return 0;
}






相關文章