醤油をかけて、FizzzBuzzzWhizz(c#)を正してください.

15370 ワード

庶民のコード、リスト法、にぎやかで、簡単なテストをして、遅すぎてテストの例を書かない
 1  using System;

 2 using System.Collections.Generic;

 3 using System.Linq;

 4 using System.Text;

 5 using System.Threading.Tasks;

 6 

 7 namespace FizzBuzzWhizz

 8 {

 9     class Program

10     {

11         static bool checkisvalid(string val)

12         {

13             int iv = 0;

14             if (val.Split(',').Length != 3) return false;

15             if (!int.TryParse(val.Split(',')[0], out iv)) return false;

16             if (!int.TryParse(val.Split(',')[1], out iv)) return false;

17             if (!int.TryParse(val.Split(',')[2], out iv)) return false;

18             return true;

19         }

20 

21         static void getvals(string val,out int a,out int b,out int c)

22         {

23             a = int.Parse(val.Split(',')[0]);

24             b = int.Parse(val.Split(',')[1]);

25             c = int.Parse(val.Split(',')[2]);

26         }

27 

28         static void Main(string[] args)

29         {

30             int a, b, c;

31             

32             Console.Out.WriteLine(" , :3,5,7");

33             string val = Console.In.ReadLine();

34             if (!checkisvalid(val)) return;

35             getvals(val, out a, out b, out c);

36             if ((a == b) && (b == c)) return;

37             if (a == 0 || b == 0 || c == 0) return;

38             if (a > 9 || b > 9 || c > 9) return;

39             string[] bb = bizbuzwhz.process(a,b,c);

40             

41             foreach(var m in bb)

42             {

43                 Console.Out.WriteLine(m);

44             }

45             

46 

47         }

48     }

49 

50     public class bizbuzwhz

51     {        

52         public static string[] process(int e1,int e2,int e3)

53         {

54             string Fizz = "Fizz";

55             string Buzz = "Buzz";

56             string Whizz = "Whizz";

57             string[] ele = new string[100];

58             int pos;

59             for (int i = 0; i < 10; i++ )

60             {

61                 for (int j = 0;j<10;j++)

62                 {

63                     pos = (i * 10 + j);

64                     ele[pos] = string.Empty;

65                     if ((j + 1 == e1) && i > 0) ele[pos] += Fizz;

66                     if (((pos+1) % e1) == 0) ele[pos] += Fizz;

67                     if ((j + 1 == e2) && i > 0) ele[pos] += Buzz;

68                     if (((pos + 1) % e2) == 0) ele[pos] += Buzz;

69                     if ((j + 1 == e3) && i > 0) ele[pos] += Whizz;

70                     if (((pos + 1) % e3) == 0) ele[pos] += Whizz;

71                     if (ele[pos] == string.Empty) ele[pos] = (pos+1).ToString();

72                 }

73             }

74             return ele;

75         }

76     }

77 

78 }

主要なコードのため、トップページに置くことができなくて、同じく悲しんで、コードは1行1行の书くのではありませんて、言うとシステムの知能の程度は强化しなければなりません
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
あなたは体育の先生で、ある授業が授業が終わるまであと5分あるとき、ゲームをすることにしました.この時、100人の学生が授業をしていました.ゲームのルールは次のとおりです.
1.まず3つの異なる特殊な数を言って、3、5、7などの桁数でなければなりません.
2.すべての学生を一列に撮って、順番に数えます.
3.学生の新聞数の場合、最初の特殊数(3)の倍数であれば、その数字ではなく、Fizzと言います.報告された数字が2番目の特殊数(5)の倍数である場合、Buzzと言います.報告された数字が3番目の特殊数(7)の倍数である場合、Whizzと言います.
4.学生が数を報告する場合、報告された数字が同時に2つの特殊数の倍数である場合、第1の特殊数と第2の特殊数の倍数のような特殊な処理も必要である.同時に3つの特殊数の倍数であれば、FizzBuzzzWhizzと言います.5.学生が数えるとき、その数字に最初の特殊数が含まれている場合は、その数字ではなく、対応する単語を言います.例えば、この例の最初の特殊数が3であれば、13を申し込む学生はFizzを言うべきです.数字に最初の特殊な数が含まれている場合は、ルール3とルール4を無視します.例えば、35を報告する学生はFizzだけを報告し、BuzzWhizzを報告しません.
 
今、私たちはあなたがこのゲームをシミュレートするプログラムを完成する必要があります.それはまず3つの特殊数を受け入れ、100人の学生が数えるべき数や単語を出力します.たとえば、
 
入力
3,5,7
出力(クリップ)しゅつりょく(Clip)
1 2 Fizz 4 Buzz Fizz Whizz 8 Fizz Buzz 11 Fizz
Fizz Whizz FizzBuzz 16 17 Fizz 19 Buzz  …
100まで