A是一位资深教师,但他的口音(他n和l,h和f分不清,a都读成o),请编写程序来为他纠正口音,将他读错的读音纠正。

单词纠正,如果想要匹配牛津字典中该怎么办?

样例输入
Colodo
样例输出
Canada

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

int main()
{  
   
   char str[100];
   gets(str);
   int len = strlen(str);
   for(int i=0;i<len;i++)
    {
           if(str[i] == 'o')
           str[i]= 'a';
           
           if(str[i] == 'l')
        {
            str[i]= 'n';
            continue;
        }
        
        if(str[i] == 'n')
        {
            str[i]= 'l';
            continue;
        }
           
           if(str[i] == 'f')
        {
            str[i]= 'h';
            continue;
        } 
           
        if(str[i] == 'h')
        {
            str[i]= 'f';
            continue;
        } 
     }
   printf("%s\n",str);
           
}

这是蓝桥杯的训练题,这段代码能够通过测试,但是如果要仔细考虑,就会发现有些说不通,例:a是一定会读成o,但是o也可能本身是o,比如color,如果放在这段代码运行出来就成了calar,并不是一个正确的单词;还需要考虑大小写问题,比如Ohrical,应该输出African。我是想着能够有一个字典或者在线的字典源,根据题目要求制定规则,输出字典中匹配的单词。