View Code of Problem 97

#include<stdio.h>
#include<string.h>

int main() {
	int n, i, j;
	while(scanf("%d", &n) && n) {
		char str[n][16], str1[n][20], str2[n][16];
		for(i=0; i<n; i++) {
			scanf("%s", str[i]);
			strcpy(str1[i],str[i]);
			strcat(str1[i], ".exe");
		}
		int len, k=0;
		for(i=0; i<n; i++) {
			len = strlen(str[i]);
			if(str[i][len-4] == '.' && str[i][len-3] == 'e' && str[i][len-2] == 'x' && str[i][len-1] == 'e') {
				for(j=0; j<n; j++) {
					if(strcmp(str1[j], str[i]) == 0) {
						strcpy(str2[k], str[i]);
						k++;
					}
				}
			}
		}
		if(k == 1)
			printf("%s\n", str2[0]);
		if(k > 1) {
			for(i=0; i<k; i++) {
				for(j=i+1; j<k; j++) {
					if(strcmp(str2[i],str2[j])>0) {
						char a[16];
						strcpy(a, str2[i]);
						strcpy(str2[i], str2[j]);
						strcpy(str2[j], a);
					}
				}
			}
			for(i=0; i<k; i++) {
				printf("%s\n", str2[i]);
			}
		}
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 97