FizzBuzz
Запись от Lemming размещена 06.12.2012 в 21:34
Навеяно статьей FizzBuzz, или почему программисты не умеют программировать
p.s. Кстати, switch(true) невероятно мощная конструкция, которую можно смело считать реализацией "Сопоставления с образцом"(pattern matching) в Х++.
Цитата:
Напишите программу, которая выводит на экран числа от 1 до 100. При этом вместо чисел, кратных трем, программа должна выводить слово «Fizz», а вместо чисел, кратных пяти — слово «Buzz». Если число кратно и 3, и 5, то программа должна выводить слово «FizzBuzz»
X++:
#define.FIZZ(3) #define.BUZZ(5) static void FizzBuzzImpl(Args _args) { int i; ; for (i = 1; i <=100; i++) { switch(true) { case ((i mod #FIZZ) == 0) && ((i mod #BUZZ) == 0): info(strfmt("FizzBuzz %1", i)); break; case ((i mod #FIZZ) == 0): info(strfmt("Fizz (%1)", i)); break; case ((i mod #BUZZ) == 0): info(strfmt("Buzz (%1)", i)); break; default: info(strfmt("%1", i)); } } }
Всего комментариев 1
Комментарии
-
А чем хуже else if ?
Запись от Player1 размещена 30.11.2013 в 17:56