View Code of Problem 97

#include<stdio.h>
#include<string.h>
int main()
{
	int number;
	while(scanf("%d",&number)!=EOF&&number!=0) 
	{
		char str[1000][20]={'\0'};
		int num[1000]={0};
		char* ret;
		int k  =0;
		for(int i = 0;i<number;i++)
		{
			scanf("%s",str[i]);
		}
		for(int i =0;i<number;i++)
		{
			for(int j =0;j<number;j++)
			{
				if(j != i)
				{
					ret = strstr(str[i],str[j]);
					if(ret == str[i])
					{
						int len = strlen(str[i]);
						if(str[i][len-1] == 'e'&&str[i][len-2]=='x'&&str[i][len-3]=='e'&&str[i][len-4]=='.')
						{
							num[k++]=i;
						}
					}
		     	}
			}
		}
		char temp[20]={'\0'}; 
		for(int i = 0;i<k;i++)
		{
			for(int j =i+1;j<k;j++)
			{
				if(strcmp(str[num[i]],str[num[j]])>0)
				{
					strcpy(temp,str[num[i]]);
					strcpy(str[num[i]],str[num[j]]);
					strcpy(str[num[j]],temp);	
			    } 	
			}
		}
		for(int i = 0;i<k;i++)
			printf("%s\n",str[num[i]]);
		
		
		
		
	}
	
	
	
	return 0;
}

Double click to view unformatted code.


Back to problem 97