12.10实验:数组——输出指定数值及以下的元素(求助)
Coral编程实验:筛选数组中小于等于指定值的元素
你的代码存在几个关键问题,直接导致功能无法实现:
- 读取筛选值的逻辑错误:第二个for循环完全多余,你只需要读取单个筛选值赋值给
x,而不是循环读取并错误地赋值给n[x] - 缺失核心筛选与输出逻辑:第三个for循环没有编写判断数组元素是否小于等于
x的条件,也没有输出符合条件元素的语句
以下是修正后的完整代码:
integer array(5) n integer i integer x // 读取5个整数存入数组 for i = 0; i < n.size; i = i + 1 n[i] = Get next input // 读取单个筛选值 x = Get next input // 遍历数组,输出符合条件的元素(每个后加空格) for i = 0; i < n.size; i = i + 1 if n[i] <= x Put n[i] to output Put " " to output // 最后输出换行符 Put "\n" to output
代码说明:
- 第一个循环保持原有逻辑,正确读取5个元素存入数组
n - 移除错误的第二个循环,改为直接读取单个筛选值到变量
x - 第三个循环加入
if条件判断,仅输出数组中小于等于x的元素,同时在每个元素后输出空格 - 循环结束后单独输出换行符,满足题目要求的格式
测试示例:输入50 60 140 200 75 100时,代码会输出50 60 75 (包含末尾空格)后换行,完全符合题目要求。
内容的提问来源于stack exchange,提问作者coffere4
相关产品推荐
相关产品推荐

