View Code of Problem 97

#include <stdio.h>
#include <string.h>
main(){
	int n,i,j,m;
	while(scanf("%d",&n)!=EOF){
		if(n == 0)
			break;
		char str[1000][20];
		for(i = 0;i<n;i++){
			scanf("%s",str[i]);
		}
		char str1[500][20];
		int k =0,t,l;
		for(i = 0;i<n;i++){
			m = strlen(str[i]);
			if(str[i][m-1] == 'e'&&str[i][m-2] == 'x'&&str[i][m-3] == 'e'&&str[i][m-4] == '.'){
				str[i][m-4] = '\0';
				for(j=0;j<n;j++){
					if(j == i)
						continue;
					if(strcmp(str[i],str[j])==0){
						str[i][m-4] = '.';
						strcpy(str1[k],str[i]);
						k++;
					}
				}
			}
		}

		for(i=0;i<k;i++){
			t = str1[i][0];
			l = i;
			for(j = i+1;j<k;j++){
				if(t>str1[j][0]){
					l = j;
					t = str1[j][0];
				}
			}
			if(l !=i){
				char str2[20];
				strcpy(str2,str1[l]);
				strcpy(str1[l],str1[i]);
				strcpy(str1[i],str2);
			}
		}
		for(i =0;i<k;i++)
			printf("%s\n",str1[i]);
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 97