组合数组、字符串与查找
此页面需较新浏览器(支持 SharedArrayBuffer)。请升级 Chrome、Edge、Firefox 或 Safari 至最新版本。
仅保存问题需要的数据
一份列表用一维数组,固定网格用二维数组。下标表示位置,与该位置存储值不同。
例题:首个最长词
词为 red、blue、gold。保存最佳词的下标,将名称与长度联系起来。用 > 比较,因为等长应保留首词。
DECLARE Words : ARRAY[1:3] OF STRING
DECLARE I, Best : INTEGER
Words[1] ← "red"
Words[2] ← "blue"
Words[3] ← "gold"
Best ← 1
FOR I ← 1 TO 3
IF LENGTH(Words[I]) > LENGTH(Words[Best]) THEN
Best ← I
ENDIF
NEXT I
OUTPUT Words[Best]
迁移模式
判断答案需计数、值还是下标。检查单项、无匹配与重复相等项。解释最大值初值为零为何在全负数时错误,再用新输入解题。
输入 N(1 至 5)及 N 个非空姓名到 Names,统计首字母为大写 A 的数量。
点击“运行”查看此处输出。
输入 N(1 至 5)及 N 个非空词到数组,输出最长词;并列取第一个。
点击“运行”查看此处输出。
数组 [4,9,4,2] 从左到右查找 4。Found 初值 0,仅在仍为 0 时更新。给出四次比较后的 Found。
解释数据结构与循环选择,指出一个边界用例并预测结果。对子程序,解释返回值或调用方变化。
本次答案保存在本浏览器。请自行或与老师复核;文字解释不自动评分。
按要点复核解释
- 类型与数据结构符合数据及要求。
- 已解释循环选择并检查首末次。
- 初值与被拒操作保持正确状态。
- 测试包含输入、用途与预期结果。
- 区分了返回、输出与改变调用方状态。