View Code of Problem 97

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

void sortfile(char sort[1000][17],int m){
    char tmp[17];
    int flag;
    for(int i=m-1;i>=0;i--){
        flag=0;
        for(int j=0;j<i;j++){
            if(strcmp(sort[j],sort[j+1])>0){
                strcpy(tmp,sort[j]);
                strcpy(sort[j],sort[j+1]);
                strcpy(sort[j+1],tmp);
                flag=1;
            }
        }
        if(flag==0){
            break;
        }
    }
}

void print(char sort[1000][17],int m){
    for(int i=0;i<m;i++){
        printf("%s\n",sort[i]);
    }
}

int main()
{
    int n,i,j,l,m;
    char file[1000][17],tmp[17];
    char sort[1000][17];
    scanf("%d",&n);
    while(n!=0){    
        m=0;
        for(i=0;i<n;i++){
            scanf("%s",file[i]);
        }
        for(i=0;i<n;i++){
            l=strlen(file[i]);
            if(file[i][l-1]=='e'&&file[i][l-2]=='x'&&file[i][l-3]=='e'&&file[i][l-4]=='.'){
                strcpy(tmp,file[i]);
                tmp[l-4]='\0';
                for(j=0;j<n;j++){
                    if(strcmp(tmp,file[j])==0){
                        strcpy(sort[m++],file[i]);
                        break;
                    }
                }
            }
        }
        sortfile(sort,m);
        print(sort,m); 
        scanf("%d",&n);
    }
	return 0;
}

Double click to view unformatted code.


Back to problem 97