首页 > 代码库 > 打个酱油,欢迎指正FizzBuzzWhizz(c#)
打个酱油,欢迎指正FizzBuzzWhizz(c#)
平民的代码,列表法,凑个热闹,做了简单的测试,太晚了就不写测试用例了
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 }
因为主要代码,所以不能放到首页,也伤心啊,代码不是一行一行的写的么,说起来系统智能程度有待加强
--------------------------------------------到此为止------------------------------------------------------------------------------
你是一名体育老师,在某次课距离下课还有五分钟时,你决定搞一个游戏。此时有100名学生在上课。游戏的规则是:
1. 你首先说出三个不同的特殊数,要求必须是个位数,比如3、5、7。
2. 让所有学生拍成一队,然后按顺序报数。
3. 学生报数时,如果所报数字是第一个特殊数(3)的倍数,那么不能说该数字,而要说Fizz;如果所报数字是第二个特殊数(5)的倍数,那么要说Buzz;如果所报数字是第三个特殊数(7)的倍数,那么要说Whizz。
4. 学生报数时,如果所报数字同时是两个特殊数的倍数情况下,也要特殊处理,比如第一个特殊数和第二个特殊数的倍数,那么不能说该数字,而是要说FizzBuzz, 以此类推。如果同时是三个特殊数的倍数,那么要说FizzBuzzWhizz。 5. 学生报数时,如果所报数字包含了第一个特殊数,那么也不能说该数字,而是要说相应的单词,比如本例中第一个特殊数是3,那么要报13的同学应该说Fizz。如果数字中包含了第一个特殊数,那么忽略规则3和规则4,比如要报35的同学只报Fizz,不报BuzzWhizz。
现在,我们需要你完成一个程序来模拟这个游戏,它首先接受3个特殊数,然后输出100名学生应该报数的数或单词。比如,
输入
3,5,7
输出(片段)
1 2 Fizz 4 Buzz Fizz Whizz 8 Fizz Buzz 11 Fizz
Fizz Whizz FizzBuzz 16 17 Fizz 19 Buzz …
一直到100
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。