csharp进阶练习题:字母战争 - 空袭 - 信大屠杀【难度:2级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练

csharp进阶练习题:字母战争 - 空袭 - 信大屠杀【难度:2级】:

介绍

有战争,没有人知道 - 字母表战争!
有敌对的信件两组.左侧字母和右侧字母之间的张力过高,战争开始了.所谓空袭的信件,以帮助他们在战争 - 点划线是在战场上到处铺展.

任务

编写接受fight串仅由小写字母和``这意味着炸弹的停车地方的功能.返回谁赢得了胜利炸弹爆炸后.当左侧胜返回左侧胜!,当右侧胜返回右侧胜!',在其他情况下,返回再次让我们的战斗!`.

左边的字母和他们的权力:


 W  -  4
 p  -  3
 b  -  2
 的S  -  1

右侧的字母和他们的权力:


 米 -  4
 q  -  3
 d  -  2
 ž -  1

其他字母不具备能力和有唯一的受害者.
炸弹杀死相邻字母(即`AA * aa` =>`一个___ A`,`** ** AA'=>______);

示例

AlphabetWar( "S * ZZ"); // =>右方胜!
AlphabetWar( "*ZD* QM *WP* BS *");再次// =>让我们的战斗!
AlphabetWar( "ZZZZ *S*"); // =>右方胜!
AlphabetWar( "WWW万维网* **** Z"); // =>左侧胜!

alphabetWar( "S * ZZ"); // =>右方胜!
alphabetWar( "*ZD* QM *WP* BS *");再次// =>让我们的战斗!
alphabetWar( "ZZZZ *S*"); // =>右方胜!
alphabetWar( "WWW *WWW**** Z"); // =>左侧胜!

ç
alphabet_war( "S * ZZ"); / * =>右方胜! * /
alphabet_war( "*ZD* QM *WP* BS *");再次/ * =>让我们战斗! * /
alphabet_war( "ZZZZ *S*"); / * =>右方胜! * /
alphabet_war( "WWW *WWW**** Z"); / * =>左侧胜! * /

全球主要的:
EXTERN alphabet_war

节.数据
strz:DB "S * ZZ",0h0
strzd:DB "*ZD* QM *WP* BS *",0h0
strzzz:DB "ZZZZ *S*",0h0
strwww:DB "万维网WWW * **** Z",0h0

.text段
主要:
    MOV RDI,strz
    调用alphabet_war; RAX < - 右侧胜!
    
    MOV RDI,strzd
    调用alphabet_war; RAX < - 再次让我们的战斗!
    
    MOV RDI,strzzz
    调用alphabet_war; RAX < - 右侧胜!
    
    MOV RDI,strwww
    调用alphabet_war; RAX < - 左偏胜!
    RET

字母收集战争

<表边界= “0” CELLPADDING = “0” CELLSPACING = “0”>

Alphavet战争

字母表战 - 空袭 - 字母屠杀

字母表战争 - 加强屠杀

字母表战争 - 核警示

字母表战 - 禾LO loooooo道士加入战争

编程目标:

 public class Kata
 {
    public static string AlphabetWar(string fight)
    {
      return "Have mercy!";
    }
 }


测试样例:

namespace Learning {
  using NUnit.Framework;
  using System;
  [TestFixture]
  public class AlphabetWarTest
  {
    [Test]
    public void BasicTest()
    {
       Assert.AreEqual("Let's fight again!", Kata.AlphabetWar("z*dq*mw*pb*s"));       
       Assert.AreEqual("Let's fight again!", Kata.AlphabetWar("zdqmwpbs"));
       Assert.AreEqual("Right side wins!", Kata.AlphabetWar("zz*zzs"));
       Assert.AreEqual("Left side wins!", Kata.AlphabetWar("*wwwwww*z*"));
    }
   }
 }


最佳答案(多种解法):

点击查看答案

更多关联题目:

免责申明

本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars.com/
https://www.codewars.com/kata/alphabet-war-airstrike-letters-massacre

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值