拼写检查-c++

迈不过友情╰ 2022-04-24 11:40 344阅读 0赞

【问题描述】

  1. 作为一个新的拼写检查程序开发团队的成员,您将编写一个模块,用已知的所有形式正确的词典来检查给定单词的正确性。
  2. 如果字典中没有这个词,那么可以用下列操作中的一个来替换正确的单词(从字典中):
  3. 1. 从单词中删除一个字母;
  4. 2. 用一个任意字母替换单词中的一个字母;
  5. 3. 在单词中插入一个任意字母。
  6. 你的任务是编写一个程序,为每个给定的单词找到字典中所有可能的替换。

【输入形式】

  1. 输入的第一部分包含所有字典中的词,每个单词占用一行,以一个单一字符“\#”作为结束。所有单词都不相同,字典中至多1000个单词。
  2. 接下来的部分包含所有需要进行检查的单词,同样每个单词占用一行。这部分也以一个单一字符“\#”作为结束。至多有50个单词需要检查。
  3. 在输入中所有的单词(字典中的和需要检查的)都仅由小写字母组成,每个最多包含15个字符。

【输出形式】

  1. 对于每个在输入中出现的单词,按照它们在输入的第二部分出现的顺序输出一行。如果该单词是正确的(也就是说它包含在字典中)则输出信息:“is correct”;如果该单词不正确,则首先输出该单词,然后输入符号':'(冒号),之后空一格,写出它所有可能的替代,以空格分隔。这些替代的单词按照它们在字典中(输入的第一部分)出现的顺序写出。如果没有可替代的单词,则在冒号后面直接输出换行。

【样例输入】

  1. i
  2. is
  3. has
  4. have
  5. be
  6. my
  7. more
  8. contest
  9. me
  10. too
  11. if
  12. award
  13. #
  14. me
  15. aware
  16. m
  17. contest
  18. hav
  19. oo
  20. or
  21. i
  22. fi
  23. mre
  24. #

【样例输出】

  1. me is correct
  2. aware: award
  3. m: i my me
  4. contest is correct
  5. hav: has have
  6. oo: too
  7. or:
  8. i is correct
  9. fi: i
  10. mre: more me

#include
using namespace std;
int main(){
string z[100],a;
int n=0,i,j,k,k1,t;
while(cin>>z[n]){
if(z[n]==”#“) break;
n++;
}
while(cin>>a){
if(a==”#“) break;
for(i=0;i<n;i++){
if(z[i]==a){
cout<<a<<” is correct\n”;
break;
}
}
if(i==n){
cout<<a<<”:”;
for(j=0;j<n;j++){
t=0;
if(a.size()==z[j].size()){
for(k=0;k<a.size();k++){
if(a[k]!=z[j][k]&&t==0) t=1;
else if(a[k]!=z[j][k]&&t==1) break;
}
if(k==a.size()){
cout<<’ ‘<<z[j];
}
}
else if(a.size()+1==z[j].size()){
k1=0;
for(k=0;k<z[j].size();k++){
if(a[k1]!=z[j][k]&&t==0){
k1—;
t=1;
}
else if(a[k1]!=z[j][k]&&t==1){
break;
}
k1++;
}
if(k==z[j].size()){
cout<<’ ‘<<z[j];
}
}
else if(a.size()==z[j].size()+1){
k1=0;
for(k=0;k<a.size();k++){
if(a[k]!=z[j][k1]&&t==0){
k1—;
t=1;
}
else if(a[k]!=z[j][k1]&&t==1){
break;
}
k1++;
}
if(k==a.size()){
cout<<’ ‘<<z[j];
}
}
}
cout<<endl;
}
}
}

发表评论

表情:
评论列表 (有 0 条评论,344人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Solr之拼写检查

    首先配置solrconfig.xml文件可能已经有这两个元素(如果没有添加即可),需要根据我们自己的系统环境做些适当的修改。 <searchComponent name =

    相关 Texworks拼写检查

    我使用的是Tex Live2015,其中自带的编辑器 Texworks是不自带拼写检查的,那么我们书写英文单词的时候需要Word那样的拼写检查怎么办? (1)在OpenOff

    相关 拼写检查-c++

    【问题描述】        作为一个新的拼写检查程序开发团队的成员,您将编写一个模块,用已知的所有形式正确的词典来检查给定单词的正确性。        如果字典中没有这个