View Code of Problem 105

#include<stdio.h>
#include<string.h>
int main(){
	char a[2223];
	while(scanf("%s",a)!=EOF&&strcmp(a,"END")!=0){
		int m;
		int i,j,index;
		scanf("%d",&m);
		int num = 0;
		while(m--){
			char b[2223];
			scanf("%s",b);
			if(strcmp(a,b)==0)
			{	num++;
				printf("%d OK!\n",num);
				continue;
			}
			else{
				int len1 = strlen(a);
				int len2 = strlen(b);
				if(len1>len2){       //如果比原单词短 insert 
					for(i = 0;i < len1; i++){
						if(a[i]!=b[i]){
							num++;
							printf("%d %d insert %c\n",num,i+1,a[i]);
							break;
						}
						
					}
				}
				else if(len1<len2){        //原单词更短 
					for(i = 0;i < len2; i++){
						if(a[i] != b[i]){
							num++;
							if(a[i]==a[i+1]&&(!b[i+1]||a[i+1]!=b[i+1]))
								printf("%d %d delete %c\n",num,i,b[i]);
							else
								printf("%d %d delete %c\n",num,i+1,b[i]);
							break;
						}
					} 
				}
				else{
					for(i = 0;i < len1; i++){
						if(a[i] != b[i]){
							num++;
							printf("%d %d change %c\n",num,i+1,a[i]);
							break;
						}
					}
				}
			}
		}
	}
}

Double click to view unformatted code.


Back to problem 105