Dave Gauer 4 лет назад
Родитель
Сommit
8795937847
3 измененных файлов с 31 добавлено и 0 удалено
  1. 2 0
      13_while3.zig
  2. 28 0
      17_quiz2.zig
  3. 1 0
      ziglings

+ 2 - 0
13_while3.zig

@@ -21,6 +21,8 @@ pub fn main() void {
     // I want to print every number between 1 and 20 that is NOT
     // divisible by 3 or 5.
     while (n <= 20) : (n+=1) {
+        // The '%' symbol is the "modulo" operator and it
+        // returns the remainder after division.
         if(n % 3 == 0) ???;
         if(n % 5 == 0) ???;
         std.debug.print("{} ", .{n});

+ 28 - 0
17_quiz2.zig

@@ -0,0 +1,28 @@
+//
+// Quiz time again! Let's see if you can solve the famous "Fizz Buzz"!
+//
+//     "Players take turns to count incrementally, replacing
+//      any number divisible by three with the word "fizz",
+//      and any number divisible by five with the word "buzz". 
+//          - From https://en.wikipedia.org/wiki/Fizz_buzz
+//
+// Let's go from 1 to 16.  This has been started for you, but there's
+// some problems. :-(
+//
+const std = import standard library;
+
+function main() void {
+    var i: u8 = 1;
+    var stop_at: u8 = 16;
+
+    // What kind of loop is this? A 'for' or a 'while'?
+    ??? (i <= stop_at) : (i += 1) {
+        if (i % 3 == 0) std.debug.print("Fizz", .{});
+        if (i % 5 == 0) std.debug.print("Buzz", .{});
+        if ( !(i % 3 == 0) and !(i % 5 == 0) ) {
+            std.debug.print("{}", .{???});
+        }
+        std.debug.print(", ", .{});
+    }
+    std.debug.print("\n",.{});
+}

+ 1 - 0
ziglings

@@ -85,6 +85,7 @@ check_it 13_while3.zig "1 2 4 7 8 11 13 14 16 17 19"
 check_it 14_while4.zig "n=4"
 check_it 15_for.zig "A Dramatic Story: :-)  :-)  :-(  :-|  :-)  The End."
 check_it 16_for2.zig "13"
+check_it 17_quiz2.zig "8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz, 16" "This is a famous game!"
 
 echo
 echo "    __   __          _ "