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];//哪些文件是以.exe结尾的 
	    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;
				}
			}
		}
		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