变式 3:在有序学号里二分查找

图书馆预约名单的学号是从小到大排好的。输入 n(n ≤ 100)、n 个学号(互不相同)和 x,用二分查找输出 x 是第几个(从 1 数起),没有就输出 没有。例如输入: 6 1003 1010 1024 1051 1080 1099 10

开始练习 →

变式 4:插进有序的队伍

输入 n(n < 100)、n 个从小到大排好的整数,再输入一个新数 x。把 x 插进去,使数组仍然有序,输出插入后的 n + 1 个数。例如输入: 4 10 20 30 40 25 输出: 10 20 25 30 40 做法:从最后

开始练习 →

二级 · 程序填空:二分查找的边界

下面程序在有序数组中二分查找 35,输出它的下标 6。请在【】处填入正确的内容。 #include <stdio.h> int main(void) { int a[10] = {2, 7, 11, 18, 24, 2

开始练习 →

二级 · 程序改错:顺序查找第几个

下面程序的功能是:输入 n、n 个整数和 x,输出 x 第一次出现是第几个(从 1 数起),没有则输出 0。例如输入 4、5 8 2 8、8,输出 2。 程序中有两处错误。请改正 found 下面一行中的错误,不要改动其他地方,也不要增删行

开始练习 →

二级 · 选择:二分查找的前提和次数

二分查找要求数组【0】;在 1000 个元素中二分查找,最多需要比较【1】次。

开始练习 →

作品:猜数字,7 次之内必中

朋友心里想一个 1~100 的整数,你每猜一次,他说「大了」或「小了」。用二分的办法,7 次之内一定猜中。 输入朋友想的数 x,程序替你猜:每次猜范围正中间的数,把猜过的数记进数组 rec,最后输出猜的顺序和次数。例如输入 1,输出: 猜的

开始练习 →

一张表格:行和列

int a[3][4]:3 行 4 列,先走完一行,再换下一行 0 1 2 3 a[0] a[1] a[2] a[i][j]:第 i 行第 j 列,都从 0 数 成绩表、课表、座位表都是「几行几列」,用二维数组存: 定义:int a[3][

开始练习 →

先走完一行,再换下一行

程序想把 3 行 4 列的表格原样打印出来,结果却打成了 4 行 3 列。先运行,对照输出想一想:外层循环每转一圈打印一行,现在外层是谁?然后交换两行 for(只换这两行,大括号不动),让它打印出: 1 2 3 4

开始练习 →

母题:每间宿舍的总分

文明宿舍评比:输入 r 和 c(都不超过 10),再输入 r 行、每行 c 个分数(第 i 行是第 i 间宿舍各项的得分)。输出每间宿舍的总分,一行一个。例如输入: 2 3 8 9 7 6 10 10 输出: 24 26

开始练习 →

变式 1:每门课的总分

输入 r 个同学、c 门课的成绩表(r、c 都不超过 10,第 i 行是第 i 个同学),输出每门课的总分,在一行里用空格隔开。例如输入: 2 3 80 90 70 60 75 95 输出: 140 165 165 现在的程序算的是每个同学

开始练习 →