我有一个任务,我被困在里面。有人可以帮我解决吗? [英] I have a task and I am stuck in it. Can someone help me solve it?

查看:55
本文介绍了我有一个任务,我被困在里面。有人可以帮我解决吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好。任务是:



Hello. The task is:

Your task is to translate a message in some alien language (let's call it Alienski).

The message could be created by following simple rules and from two known languages, English and Spanish.

Each word in Alienski is constructed by subtracting the letters from English and Spanish (absolute value) and that is the resulting letter.

There are two special cases. If in each of the words the symbol is '-' (hyphen) or ' ' (space) it is mandatory for it to be kept this way.

There won't be a case with a '-' (hyphen) and a ' ' (space) at the same time.

If one of the words is with more letters than the other just add the letters from the longer word to the result.

Example:
Copy
talk
hablar
Copy
a b c d....
0 1 2 3....
t - h = | 19 - 7 | = 12 = m
a - a = | 0 - 0 | = 0 = a
l - b = | 11 - 1 | = 10 = k
k - l = | 10 - 11 | = 1 = b
empty - a = a
empty - r = r

Result:

makbar
Input:
Read from the standard input:

Two lines with messages in English and Spanish
Each message is on new line.
Output:
Print on the standard output:

On the single line of the output, print the decoded message in Alienski
Constraints:
All the letters will be small letters from the Latin alphabet and the special symbols '-' (hyphen) and ' ' (space).
Hint
Use the ASCII table
'a' - 'a' = 0
Sample tests:
Input
Copy
thank you
muchas gracias
Output
Copy
hncgk  idacias
Note: There are two spaces here

Input:

test
el examen
Output

ph pxamen





我是什么尝试过:





What I have tried:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Task2
{
    class Program
    {
        static void Main(string[] args)
        {
            string english = Console.ReadLine();
            string spanish = Console.ReadLine();
            string result = string.Empty;
            char c;
            int i = 0, j = 0;
            while (i < english.Length && j < spanish.Length)
            {
                c = (char)('a' + Math.Abs(english[i] - spanish[i]));
                result += c;
                i++;
                j++;
            }
            while (i < english.Length)
            {
                result += english[i];
                i++;
            }
            while (j < spanish.Length)
            {
                result += spanish[j];
                j++;
            }
            Console.WriteLine(result);
        }
    }
}

推荐答案

我们不做你的作业:它是为一个原因。它就是为了让你思考你被告知的事情,并试着理解它。它也在那里,以便您的导师可以识别您身体虚弱的区域,并将更多的注意力集中在补救措施上。



亲自尝试,你可能会发现它不是和你想的一样困难!



如果遇到具体问题,请询问相关问题,我们会尽力提供帮助。但我们不打算为你做这一切!
We do not do your homework: it is set for a reason. It is there so that you think about what you have been told, and try to understand it. It is also there so that your tutor can identify areas where you are weak, and focus more attention on remedial action.

Try it yourself, you may find it is not as difficult as you think!

If you meet a specific problem, then please ask about that and we will do our best to help. But we aren't going to do it all for you!


这篇关于我有一个任务,我被困在里面。有人可以帮我解决吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆