【问题标题】:Spelling a word backwords向后拼写一个单词
【发布时间】:2016-02-04 01:43:24
【问题描述】:

对于以下所有单词,如果将第一个字母移到末尾 单词,然后将结果反向拼写,您将得到原始单词: 香蕉梳妆台语法土豆复活不均匀评估

我记下了第一部分,将第一个字母移到了末尾,但我无法反向拼写单词。我必须为此使用for 循环,但我不知道如何使用它,所以它会将单词的其余部分向后拼写。

【问题讨论】:

    标签: loops for-loop reverse words spelling


    【解决方案1】:

    通常for循环不关心你修改索引的方式,所以你应该能够使用类似的东西

    string firstAtLast = "otatop";
    string reverse = "";
    
    for(int i=string.length-1; i => 0; i--)
    {
        reverse += firstAtLast.At(i)
    }
    

    i 和字符串操作方法的详细信息当然取决于您的语言。

    【讨论】:

    • “只有 C++”是什么意思?我确定还有其他具有 At 方法的语言。有关 C++ 字符串的详细信息,请参见此处,例如:cplusplus.com/reference/string/string
    【解决方案2】:

    这应该可以解决问题(C#)

    public void ReverseWord()
      {
        var word = "banana dresser grammar potato revive uneven assess";
        var length = word.Length;
        string reverse = "";
        for (int i = 0; i < length; i++)
        {
            reverse = word.Substring(0, 1) + reverse;
            word = word.Remove(0, 1);
        }
    }
    

    我得到的结果是:ssessa nevenu eviver otatop rammarg resserd ananab

    【讨论】:

      【解决方案3】:

      为什么要将第一个字母移到末尾?

      string word = "hello";
      string neword = string.Empty;
      Array a = word.ToCharArray();
      foreach (char c in a)
      {
          neword = neword + c;
      }
      

      我是用 C# 写的,但基本上任何东西都是一样的。

      其实,如果你写的语言有点聪明的话,你也许可以这样做:

      string word = "hello";
      string neword = string.Empty;
      foreach (char c in word)
      {
          neword = neword + c;
      }
      

      【讨论】:

      • 这是我的导师给我的作业。我必须能够让他们输入他们喜欢的单词,然后它将第一个字母移动到末尾并向后拼写单词的其余部分。
      • 所以你实际上必须得到最后的第一个字母?
      • 好吧,我和#markus 给你的代码已经足够完成它了。
      • 所以基本上如果你拼写 dog = 将被重新拼写为 dgo。所以例子是banana,它会拼出原词banana
      • 没有密码 atm 会拼写上帝我给你的就是把这个词倒过来。
      猜你喜欢
      • 1970-01-01
      • 2011-06-24
      • 1970-01-01
      • 2015-05-06
      • 2016-06-22
      • 2023-03-16
      • 2012-08-09
      • 2020-10-26
      • 2020-12-29
      相关资源
      最近更新 更多