#include<stdio.h>//PQ #include<string.h> main() { char a[10000],b[10000]; int m,n,c,d,i,j; while(1) { scanf("%s",a);//输入字符串 m=strlen(a);//测量字符串的长度(该字符串为标准的单词拼写或者是结束程序的‘END’) if(m==3&&a[0]=='E'&&a[1]=='N'&&a[2]=='D')//如果字符串的长度是3,并且是END的话,跳出,结束程序 break; else//否则 { scanf("%d",&d);//输入有几组数据要测量 c=0; for(i=0;i<d;i++) { scanf("%s",&b);//输入字符串 n=strlen(b);//测量字符串长度 if(n<m)//如果输入的字符串比标准的短 { for(j=0;j<m;j++)//挨个比较 { if(a[j]!=b[j])//遇到不同的就跳出,同时输出漏掉的那个字母 { printf("%d %d insert %c\n",i+1,j+1,a[j]); break; } } } else if(n>m)//如果输入的字符串比标准的长 { for(j=0;j<n;j++)//挨个比较 { if(a[j]!=b[j]&&j!=n-1)//遇到不同的就跳出,同时输出多出的那个字母 { printf("%d %d delete %c\n",i+1,j+1,b[j]); break; } else if(j==n-1) printf("%d %d delete %c\n",i+1,j,b[j]); } } else if(n==m)//如果输入的字符串与标准的字符串长度相等 { for(j=0;j<n;j++)//挨个比较 { if(a[j]!=b[j])//遇到不同的就跳出,同时输出错误的那个字母 { printf("%d %d change %c\n",i+1,j+1,a[j]); break; } else//如果当前字母与标准的相同,c加一 c=c+1; } if(c==n)//如果c和标准的字符串的长度相同的话,说明输入字符串和标准字符串相同,单词正确,输出ok printf("%d OK!\n",i+1); c=0; } } } } return 0; } |
Double click to view unformatted code.