若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。


  • 运维

  • 前端

  • 编程

  • 随笔

  • hust-oj

3160: 小平学外语

发表于 2017-10-06   |   分类于 HUSTOJ   |   阅读次数 1,437

题目描述

补全代码,只需要提交补充的部分,提交时选择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',''},
        {'','','','','','','','','','','','','','','','','','','','','','','','','','H','H','H','','U','A',''}
    };
    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]!=''; )
    {
        cmp=0;
        incmp[cmp++]=str[i++];
        incmp[cmp++]=str[i++];
        incmp[cmp]='';
        for(j = 0; ru[j]!='';)
        {
            cmp=0;
            rucmp[cmp++]=ru[j++];
            rucmp[cmp++]=ru[j++];
            rucmp[cmp]='';
            if(strcmp(incmp,rucmp)==0)
            {
break;
              }
        }
        int col = (j-1)/2;
        for(int k=0; k<2 && en[k][col]!=''; )
        {
            print[n++] = en[k++][col];
        }
    }
    print[n] = '';
    printf("%s",print);
}

解析

暂无

hustoj

发表评论 取消回复

邮箱地址不会被公开。 必填项已用*标注

*
*


hoxis wechat
著作权归作者所有
站点更新说明
  • 文章目录
  • 站点概览
若是凉夜已成梦

若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。

1904 日志
6 分类
12 标签
RSS
weibo github twitter facebook

友情链接

原站点 Dreams孤独患者 Skip
© 2017 若是凉夜已成梦
Powered by WordPress | 已运行
Theme By NexT.Mist