View Code of Problem 97

#include<stdio.h>
#include<string.h>
int main()
{
	int n;
	while(~scanf("%d",&n))
	{
		if(n==0)
		  break;
		char str[n][100];
		int exe[n];
	    int k=0,i,j;
		for(i=0;i<n;i++)
		{
		  scanf("%s",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]=='.')
		  {
		  	exe[k]=i;
		  	k++;
		  }
	    }
	    char s[100];
	    char bindu[n][1000];
	    int l=0;
		for(i=0;i<k;i++)
		{
			for(j=0;j<strlen(str[exe[i]])-4;j++)
			   s[j]=str[exe[i]][j];
		    for(j=0;j<n;j++)
		    {
		    	if(strcmp(s,str[j])==0)
		    	{
		    		strcpy(bindu[l],str[exe[i]]);
		    		l++;
		    		break;
				}
			}
		}
		if(l==1)
		  puts(bindu[0]);
		else
		{
			for(i=0;i<l-1;i++)
			{
				char c[1000];
				int min=i;
				for(j=i+1;j<l;j++)
				{
					if(strcmp(bindu[min],bindu[j])>0)
					  min=j;
				}
				strcpy(c,bindu[min]);
				strcpy(bindu[min],bindu[i]);
				strcpy(bindu[i],c);
			}
			for(i=0;i<l;i++)
			  puts(bindu[i]);
		}
		
	}
}

Double click to view unformatted code.


Back to problem 97