/* ===== 模块3:控制流 ===== * test05_control — 分支与循环 * 难度:2/5 * 验证点:if/else、while、loop、break、continue */ fn main() i32 { /* ---- if/else ---- */ var x: i32 = 10; if x > 5 { x = 0; } else { x = 1; } if x != 0 { ret 1; } /* else 分支 */ var y: i32 = 1; if y > 5 { y = 10; } else { y = 20; } if y != 20 { ret 2; } /* if 不带 else */ var z: i32 = 0; if z == 0 { z = 99; } if z != 99 { ret 3; } /* ---- while ---- */ var i: i32 = 0; while i < 5 { i = i + 1; } if i != 5 { ret 4; } /* while 条件为 false */ var j: i32 = 0; while j > 0 { j = j + 1; } if j != 0 { ret 5; } /* ---- loop / break ---- */ var k: i32 = 0; loop { k = k + 1; if k >= 3 { break; } } if k != 3 { ret 6; } /* ---- continue ---- */ var n: i32 = 0; var m: i32 = 0; while n < 5 { n = n + 1; if n == 3 { continue; } m = m + 1; } if n != 5 { ret 7; } if m != 4 { ret 8; } /* ---- 嵌套控制流 ---- */ var total: i32 = 0; var p: i32 = 0; while p < 3 { var q: i32 = 0; while q < 4 { total = total + 1; q = q + 1; } p = p + 1; } if total != 12 { ret 9; } ret 0; }