题目描述
补全代码,只需要提交补充的部分,提交时选择C/C++提交
小平学长最近闲来无事迷上了学外语。最近小平遇到了一个梗:如何把一个大写字母的俄语单词翻译成对应的英语字母组成的单词,已知俄语字母与英语字母有以下对应关系:
А——A
Б——B
В——V
Г——G
Д——D
Е,Ё,Э——E
Ж——J
З——Z
И,Й——I
К——K
Л——L
М——M
Н——N
О——O
П——P
Р——R
С——S
Т——T
У——U
Ф——F
Х——H
Ц——C
Ч——CH
Ш,Щ——SH
Ы——Y
Ю——IU
Я——IA
提示:一个俄语字母占用两个字节(一个char类型的字符占用的是一个字节),由于键盘不能输入俄语字符,测试时直接复制粘贴即可。
#include<stdio.h>
#include<string.h>
int main()
{
char ru[] = "АБВГДЕЁЭЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЮЯ";
char en[2][32] =
{
{'A','B','V','G','D','E','E','E','J','Z','I','I','K','L','M','N','O','P','R','S','T','U','F','H','C','C','S','S','Y','I','I','\0'},
{'\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','H','H','H','\0','U','A','\0'}
};
int n = 0;
int j;
int cmp;
char str[66];
char incmp[3];
char rucmp[3];
char print[33];
scanf("%s",str);
for(int i = 0; str[i]!='\0'; )
{
cmp=0;
incmp[cmp++]=str[i++];
incmp[cmp++]=str[i++];
incmp[cmp]='\0';
for(j = 0; ru[j]!='\0';)
{
cmp=0;
rucmp[cmp++]=ru[j++];
rucmp[cmp++]=ru[j++];
rucmp[cmp]='\0';
if(strcmp(incmp,rucmp)==0)
{
/*在此处补全代码*/
/****************/
}
}
int col = (j-1)/2;
for(int k=0; k<2 && en[k][col]!='\0'; )
{
print[n++] = en[k++][col];
}
}
print[n] = '\0';
printf("%s",print);
}
输入
输入一个只由俄语大写字母组成的俄语单词,字符个数<25。
输出
输出该单词对应的英语字母组成的单词。
样例输入
ОТЛИЧНО
样例输出
OTLICHNO
参考代码
#include<stdio.h>
#include<string.h>
int main()
{
char ru[] = "ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐРСТУФХЦЧШЩЫЮЯ";
char en[2][32] =
{
{'A','B','V','G','D','E','E','E','J','Z','I','I','K','L','M','N','O','P','R','S','T','U','F','H','C','C','S','S','Y','I','I','