二级 · 程序设计:平均分和高于平均的人数
输入 n 个同学的成绩。请编写函数 fun:求出平均分通过 avg 带回,再统计高于平均分的人数通过 above 带回。例如输入: 4 85 70 92 61 输出: 77.00 2 注意:不要改动 main 函数,只在 fun 的花括号里
作品:宿舍 AA 小账本
你(A)和室友(B)给宿舍买东西,分别垫付了 a、b 元(整数,两人不一样多)。平摊以后,少付的人要把差额的一半转给多付的人。 函数 settle 通过 who 带回收钱的人('A' 或 'B'),通过 mo
数组名就是首地址
int *p = a; p + i 指向 a[i],每 +1 走一个元素 2 4 6 8 10 a[0] a[1] a[2] a[3] a[4] p p+1 p+2 p+3 p+4 数组的元素在内存里一个挨一个排着。几条规则: 数组名 a
p 指向哪个窗口
食堂 6 个窗口的排队人数存在数组 a 里。程序输出「p 指向的窗口」和「它往后数第 2 个窗口」的人数之和,也就是 *p + *(p + 2)。 运行一次,看画布上 p 指向哪。只改一个数,让 p 指向人数是 9 的窗口,输出: 16 代
母题:综测最高分是第几个
输入 n 和 n 个同学的综测分。用指针 p 走遍数组,让 pmax 指向最高分(一样高取前面的),输出最高分和它是第几个(从 1 数)。例如输入: 3 88 91 85 输出: 91 2 读入时 scanf("%d",
变式 1:哪个窗口排队最短
输入 n 和 n 个窗口的排队人数,用指针找出人数最少的窗口(一样少取前面的),输出人数和它是第几个窗口。例如输入: 4 5 2 6 3 输出: 2 2
变式 2:浏览记录倒着看
输入 n 和 n 个帖子编号,用 *(a + i) 的写法把它们倒着输出。例如输入: 3 1 8 6 输出: 6 8 1 程序少了一对括号。
变式 3:两个指针把队伍倒过来
输入 n 和 n 个人的编号,把队伍原地倒过来:l 从头、r 从尾,交换 *l 和 *r,然后 l 往后、r 往前,直到相遇。例如输入: 4 1 2 3 4 输出: 4 3 2 1 看画布上第一轮交换的是哪两格。 代码里以 @youci 开
变式 4:菜单里删掉卖完的菜
输入 n、卖完的菜号 x,再输入 n 个菜号。把所有等于 x 的菜删掉(后面的往前挪),先输出剩几个,再输出剩下的菜号。例如输入: 5 2 2 5 2 7 1 输出: 剩 3 个 5 7 1 p 负责读,w 负责写:读到不是 x 的,才写到
二级 · 程序改错:用指针统计偶数
下面程序的功能是:输入 n 个整数,用指针 p 统计其中偶数的个数和偶数之和。例如输入 4 和 6 1 8 3 时输出 2 14。 程序中有两处错误。请改正 found 下面一行中的错误,不要改动其他地方,也不要增删行。