View Code of Problem 22

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

int cmp( const void *a, const void *b ){
	return *(char *)a - *(char *)b;
}
int main(){
	char s[1010],s1[1010],s3[1010];
	int cnt[256];
	while(gets(s) != NULL ){
		 int k=0;
         gets(s1);
		 memset(cnt,0,sizeof(int)*256); 
		 for(int i=0; i<strlen(s); i++ ){
		 		 cnt[s[i]] ++ ;
		 }
		 for( int j=0; j<strlen(s1); j++ ){
		 	if( cnt[s1[j]] != 0 ){
		 		cnt[s1[j]]--;
		 		s3[k++] = s1[j];
			 }
		 }
 		s3[k] = '\0';
 		qsort(s3,strlen(s3),sizeof(char),cmp );
 		puts(s3);
        memset(s3,0,sizeof(s3));
        memset(s,0,sizeof(s));
        memset(s1,0,sizeof(s1));
	}

	return 0;
	
}

Double click to view unformatted code.


Back to problem 22