View Code of Problem 97

#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
	int n=0,i=0,j=0,p=0,q=0,k=0,len=0;
	char f[1000][20],temp[20]="\0",*ret;
	char fn[1001][20];
	while(scanf("%d",&n)!=EOF&&n!=0)
	{
		i=j=k=0;
		for(i=0;i<n;i++)
		{
			scanf("%s",f[i]);
			getchar();
		}
		for(int i =0;i<n;i++)
		{
			for(int k =0;k<n;k++)
			{
				if(k != i)
				{
					ret = strstr(f[i],f[k]);
					if(ret == f[i])
					{
						int len = strlen(f[i]);
						if(f[i][len-1] == 'e'&f[i][len-2]=='x'&&f[i][len-3]=='e'&&f[i][len-4]=='.')
						{
							strcpy(fn[j++],f[i]);
							break;
						}
					}
		     	}
			}
		}
/*
		for(i=0;i<n;i++)
		{
			if(strstr(f[i],".exe")!=NULL)
			{
				for(k=0;k<n;k++)
				{
					if((k!=i)&&(strstr(f[i],f[k])!=NULL));
					{
						strcpy(fn[j],f[i]);
						j++;
						break;
					}
					
				}

			}
		}*/
	
	for(p=0;p<j;p++)
		{
			for(q=j-1;q>p;q--)
			{
				if(strcmp(fn[q],fn[q-1])<0)
				{
					strcpy(temp,fn[q]);
					strcpy(fn[q],fn[q-1]);
					strcpy(fn[q-1],temp);
				}
			}
		}
		for(k=0;k<j;k++)
		{
			printf("%s\n",fn[k]);
/*
			for(i=0;i<n;i++)
			{
				if((strstr(fn[k],f[i])!=NULL)&&(strcmp(fn[k],f[i])!=0))
					printf("%s\n",fn[k]);
			}*/	
		}
	} 
	return 0;
}

Double click to view unformatted code.


Back to problem 97