View Code of Problem 22

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

int cmp(const void *a,const void *b){
	return *(char*)a-*(char*)b;
}
int main(){
	char parent[1010];
	int a[1010];
	char child[1010];
	int b[1010];
	char c[1010];
	int count;
	while(gets(parent)!=NULL&&gets(child)!=NULL){
		int len=strlen(parent);
		for(int i=0;i<1010;i++){
			a[i]=b[i]=0;
		}
		count=0;
		for(int i=0;i<len;i++){
			for(int j=0;j<strlen(child);j++){
				if(parent[i]==child[j]&&a[i]==0&&b[j]==0){
					a[i]=b[j]=-1;
					c[count]=parent[i];
					count++;
					break;
				}
			} 
		}
		qsort(c,count,sizeof(char),cmp);
		for(int i=0;i<count;i++){
			printf("%c",c[i]);
		}
		printf("\n");
	}
}



	

Double click to view unformatted code.


Back to problem 22