二级 · 程序填空:自己写 strlen

函数 mylen 用指针求字符串的长度,程序输出 8。请在【】处填入正确的内容。 #include <stdio.h> int mylen(char *s) { char *p = 【0】; while (【1

开始练习 →

二级 · 程序改错:删除指定字符

函数 fun 的功能是:删除字符串 s 中所有的字符 c。例如 s 为 banana、c 为 a 时,结果是 bnn。 程序中有两处错误。请改正 found 下面一行中的错误,不要改动其他地方,也不要增删行。

开始练习 →

二级 · 程序设计:从短信里取出取件码

快递短信里夹着取件码,请编写函数 fun:把字符串 s 中的数字字符按原来的顺序取出,放进 t 中。例如 s 为 取件码3-1-4159 时,输出: 314159 注意:不要改动 main 函数,只在 fun 的花括号里填写语句。

开始练习 →

作品:密码强度检测器

注册选课系统要设密码。输入一个密码(不含空格),用指针 p 从头走到尾,统计大写字母、小写字母、数字、其他符号四类各有几个,走完后 p - s 就是长度。 评分 = 出现的种类数 + (长度 ≥ 8 时再加 1):4 分及以上「强」,3 分

开始练习 →

二维数组的行和列地址

int a[3][4]:a + i 一次跳过一整行(4 个 int) a + 0 a + 1 a + 2 二维数组 int a[3][4] 可以看成 3 行,每一行是一个有 4 个 int 的一维数组,在内存里一行接一行连续存放。 a +

开始练习 →

行指针指向哪个宿舍

三个宿舍(3 行)、每个宿舍 4 个人(4 列)的体测成绩存在 score 里。行指针 int (*p)[4] 指向某一行,*(*p + j) 就是这一行的第 j 个人。程序输出 p 指向的那个宿舍的总分。 运行一次,看画布。只改一个数,算

开始练习 →

母题:每个人的总分

输入 m 和 m 个同学的 4 门课成绩(每行 4 个)。函数 rowsum 的形参是行指针 int (*p)[4],求出每个同学的总分放进 sum。例如输入: 2 90 80 70 60 85 85 85 85 输出: 300 340 现

开始练习 →

变式 1:每门课的平均分

还是 m 个同学 4 门课的成绩。函数 colavg 用 *(*(p + i) + j) 按列求出每门课的平均分,保留一位小数,4 个数输出在一行。例如输入: 2 90 80 70 60 91 80 70 60 输出: 90.5 80.0

开始练习 →

变式 2:考场最高分坐在哪

考场 3 排、每排 4 个座位,输入 12 个分数(一排一行)。二维数组在内存里一行接一行连着放,所以 first = a[0] 之后,int *q 可以从 first 出发一格格走完全部 12 个。找出最高分(一样高取前面的),设它是第

开始练习 →

变式 3:九宫格 X 形之和

输入一个 3×3 的九宫格,求两条对角线(X 形)上所有数之和,中心格只算一次。用 *(*(a + i) + j) 的写法取元素。例如输入: 1 2 3 4 5 6 7 8 9 输出: 25

开始练习 →