变式 4:用嵌套 if 判闰年
课本上的写法:用三层嵌套 if 判断闰年——先看能不能被 4 整除,能的话再看能不能被 100 整除,能的话再看能不能被 400 整除。是闰年输出 闰年,否则输出 平年。例如输入 2000,输出: 闰年 最里面一层没写完。最后一行用的是第
二级 · 程序填空:正、零、负
下面的程序输出 x 的符号:正数 1、零 0、负数 -1,x 为 -8 时输出 -1。请在【】处填入正确的内容。 #include <stdio.h> int main(void) { int x = -8, s;
二级 · 程序改错:连写比较和漏括号
下面程序的功能是:输入成绩 s(0~100),90 及以上输出 A,80~89 输出 B,其余输出 C。 程序中有两处错误。请改正 found 下面一行中的错误,不要改动其他地方,也不要增删行。
二级 · 选择:else if 和下一个 if
下面的程序输出【0】。 #include <stdio.h> int main(void) { int x = 15; if (x > 10) printf("1");
作品:你是什么星座
输入生日的月和日,输出星座。把日期变成一个数 md = 月 × 100 + 日(10 月 24 日就是 1024),再用一串 else if 按区间判断。例如输入 8 15,输出: 你是狮子座 天蝎座是 10 月 24 日到 11 月 22
没有 break 就一直往下走
switch (2):直接跳到 case 2,然后一直往下执行,直到遇见 break case 1 case 2 case 3 打印 X 打印 Y(没有 break) 打印 Z;break 输出 YZ:从 case 2 进门,贯穿到 cas
忘了写 break
day 是 2,本来只该输出「周二」,可程序把「周三」也输出了:从 case 2 进门后没有遇到 break,就贯穿到了 case 3。补一个 break,让程序只输出: 周二
母题:用 switch 给成绩分等级
谭浩强的经典写法:switch (s / 10)。90~100 分 A,80~89 B,70~79 C,60~69 D,其余 E。例如输入 86,输出: B 程序对大多数分数都对,但 100 分错了。运行一下,看画布上 s / 10 是几。
变式 1:四则运算计算器
输入一个算式,例如 12 / 4(两个整数,中间是 + - * / 之一,前后有空格),输出结果(整数除法)。例如输入 12 / 4,输出: 3 程序少了一种运算符。
变式 2:这个月有几天
输入年和月,输出这个月有几天。1、3、5、7、8、10、12 月 31 天;4、6、9、11 月 30 天;2 月闰年 29 天、平年 28 天。例如输入 2024 2,输出: 29 程序用「贯穿」把同样天数的月份叠在了一起,但 2 月没考