变式 3:字母是第几个
输入一个大写字母,输出它是字母表里的第几个(A 是第 1 个)。例如输入 E,输出: 5 程序差了一点点。
变式 4:往后数 3 个,Z 绕回来
输入一个大写字母,输出字母表里它后面第 3 个字母;到了 Z 就绕回 A。例如输入 Y,输出: B 现在的写法遇到 X、Y、Z 就出错了。用第 3 关的 % 让它绕回来。
二级 · 程序填空:小写转大写
下面的程序把小写字母 ch 转成大写后输出,结果是 G。请在【】处填入正确的内容。 #include <stdio.h> int main(void) { char ch = 'g'; ch =
二级 · 程序改错:单引号和双引号
下面程序的功能是:输出字母 A 后面的那个字母,结果是 B。 程序中有两处错误。请改正 found 下面一行中的错误,不要改动其他地方,也不要增删行。
二级 · 选择:'\101' 是什么
字符常量 '\101' 表示的字符是【0】。(提示:反斜杠后面跟 1~3 位数字,是八进制的 ASCII 码。)
作品:用凯撒密码写一句暗号
输入 4 个大写字母和一个密钥 k(0~25),把每个字母往后数 k 个(过了 Z 绕回 A),输出密文。例如输入 LOVE 3,输出: ORYH 现在的写法没有「绕回来」。交对以后,想一个 4 个字母的暗号和你们俩才知道的密钥,把密文发给
a++ 先用还是先加
后置 ++:先拿旧值去用,再给自己加 1 int a = 5, b; b = a++; a b 5 6 5 ① 先把 a 的旧值 5 交给 b ② 然后 a 自己加 1,变成 6 下面的程序里,y = x++ * 2; 执行完,y 的值是【
复合赋值:+= -= *=
money -= 30 就是 money = money - 30 的简写,+=、*=、/=、%= 同理。 运行一次,看画布上 money 怎么变。然后只改最后一句的运算符和数字,让程序最后输出 150。 代码里以 @youci 开头的 p
母题:交换两个变量
输入两个整数 a、b,交换它们的值后输出 a 和 b。例如输入 3 8,输出: 8 3 程序写了 a = b; b = a;,结果两个数一样了。看画布找原因,用一个临时变量 t 把它改对。 代码里以 @youci 开头的 printf 只负
变式 1:不用临时变量交换
还是交换两个整数,这次不许用第三个变量,用加减法: a = a + b; b = a - b; a = a - b; 程序有一步写错了,对照上面三步改过来。输入 3 8 时输出 8 3。