变式 2:只加偶数
输入 n,输出 1 到 n 之间所有偶数的和。用步长 2 的循环,不用 if。例如输入 10,输出: 30 程序的起点不对。
变式 3:1 - 1/2 + 1/3 - …
二级经典:输入 n,求 1 - 1/2 + 1/3 - 1/4 + … ± 1/n,保留 4 位小数。例如输入 4,输出: 0.5833 正负号交替已经做对了(sign 每轮取反),可结果总是 1.0000。运行看看画布上的 1 / 2。
变式 4:读 n 个数求平均
先输入 n,再输入 n 个整数,输出它们的平均值(两位小数)。例如输入 4 80 90 70 61 输出 75.25。循环里每读一个数,要把它加到 sum 上。
二级 · 程序填空:3 的倍数之和
下面的程序求 1~100 中所有 3 的倍数之和,输出 1683。请在【】处填入正确的内容。 #include <stdio.h> int main(void) { int i, sum = 0; for (i
二级 · 程序改错:阶乘
下面程序的功能是:输入 n,输出 n!。输入 5 时输出 120。 程序中有两处错误(都能通过编译)。请改正 found 下面一行中的错误,不要改动其他地方,也不要增删行。
二级 · 选择:for 后面的分号
下面的程序输出【0】。 #include <stdio.h> int main(void) { int i; for (i = 0; i < 5; i++); printf("%
作品:每天进步 1%
网上流行的一个算式:每天进步 1%,一年后是 1.01³⁶⁵ ≈ 37.78;每天退步 1%,一年后是 0.99³⁶⁵ ≈ 0.03。用 for 循环算一算:输入天数 n,输出 坚持 365 天:进步 37.78,退步 0.03 程序的两个
先问后做,还是先做后问
x = 5,条件是 x < 3:while 先问后做,do-while 先做后问 while 判断 x < 3 ✗ 循环体 do-while 循环体(做一次) 判断 x < 3 ✗ 上一关的 for 适合「知道要转几圈」。
0 是几位数
数位数的常见写法:每次除以 10 去掉一位,数去了几次。可 n = 0 时程序说它是 0 位数——0 明明是 1 位数。 先运行:画布上每进一次循环体就弹出一张卡片,现在一张都没有。把 while 循环改成 do-while(循环体不变),
母题:各位数字之和
输入一个正整数(位数不定),输出它各位数字之和。不知道有几位,所以用 while:每次取出个位加上,再去掉个位,直到 n 变成 0。例如输入 2026,输出: 10