变式 2:三个数轮换

输入三个整数 a、b、c,让它们「往前轮一位」:a 拿到 b 的值,b 拿到 c 的值,c 拿到原来 a 的值。例如输入 1 2 3,输出: 2 3 1 只能用一个临时变量 t。现在四句的顺序不对,调整顺序把它改对。

开始练习 →

变式 3:x *= a + b 是乘谁

输入 x、a、b,执行 x *= a + b; 后输出 x。例如输入 2 3 4,输出: 14 程序把它「展开」成了 x = x * a + b;,结果不对。复合赋值的右边是一个整体。 代码里以 @youci 开头的 printf 只负责运

开始练习 →

变式 4:排队取号

取号机当前的号是 no(输入),连续来了三个人,每人拿走当前的号,然后号码加 1。依次输出三个人的号和最后的 no。例如输入 5,输出: 5 6 7 8 程序用了 ++no,第一个人拿到的就是 6 了。

开始练习 →

二级 · 程序填空:交换 a 和 b

下面的程序交换 a、b 的值,输出 9 4。请在【】处填入正确的内容。 #include <stdio.h> int main(void) { int a = 4, b = 9, t; t = 【0】;

开始练习 →

二级 · 程序改错:=+ 和 ++ 的位置

下面程序的功能是:x 先加上 2,再自增 1 并把自增后的值交给 y,最后输出 x 和 y,结果是 8 8。 程序中有两处错误(都能通过编译)。请改正 found 下面一行中的错误,不要改动其他地方,也不要增删行。

开始练习 →

二级 · 选择:a += a * 2

若有 int a = 3;,执行 a += a * 2; 后,a 的值是【0】。

开始练习 →

作品:游戏升级经验条

游戏里每 100 点经验升一级,升级后经验只保留零头。输入当前等级 lv、当前经验 exp(0~99),以及接下来三场获得的经验 g1、g2、g3。每打完一场:先把经验加上,再把满 100 的部分换成等级。最后输出: Lv.6 经验 25/

开始练习 →

%5d 占几格

%5d:至少占 5 格,数字不够长就用空格补;加 - 号靠左 printf("%5d", 42); printf("%-5d", 42); 42 3 个空格 方括号是为了看清空格,选项里用 _ 表示一

开始练习 →

学号补零:%06d

学号统一是 6 位,不够的前面补 0。%6d 用空格补,%06d 用 0 补。 先运行看看输出,再改格式,让程序输出: 002026

开始练习 →

母题:保留三位小数

输入一个实数 x,输出它保留三位小数(第四位四舍五入)。例如输入 2.71828,输出: 2.718 %f 默认输出 6 位小数,改成保留 3 位。

开始练习 →