C5-3 字符串模拟与输出调试 - 做题思路

共15道题 · 解题思路流程图 · 覆盖知识点 · 难点提示

1Z1162 [2023经开区小学组T2] 天平(balance)

📚 覆盖知识点

累加求和、比较判断、双循环读入、分支输出

⭐ 难度

入门级,经开区小学组

解题思路流程图

读入左边物品数n和右边物品数m
↓
分别累加左边重量和left、右边重量和right
↓
比较left和right,输出左倾/右倾/平衡

⚠️ 需格外注意

  • 左右两边物品数量不同,要分别用两个循环读入累加
  • 输出是英文:left / right / balanced
  • 注意题目要求的输出大小写
2Z1243 [2021合肥市小学组T2] 整理书本(book)

📚 覆盖知识点

数组复制、sort排序、对比统计、计数器

⭐ 难度

入门级,合肥市小学组

解题思路流程图

读入n本书的高度存入a数组,复制到b数组
↓
sort排序b数组得到正确顺序
↓
逐个对比a[i]和b[i],不一样就count++
↓
输出count(需要移动的书数量)

⚠️ 需格外注意

  • 一定要复制一份数组再排序,原数组顺序不能丢
  • 统计的是"不在正确位置"的书,不是"需要交换"
  • sort默认升序,按题目要求确认排序方向
3Z1224 [2024合肥市小学组T1] 数字加密(encrypt)

📚 覆盖知识点

数组存储、逐位运算、取模%、顺序输出

⭐ 难度

入门级,合肥市小学组

解题思路流程图

读入n位数字存入数组a
↓
每位加密:a[i] = (a[i] + 3) % 10
↓
按原顺序输出加密后的每位数字

⚠️ 需格外注意

  • 加3后可能超过9,必须对10取模
  • 输出是连续的数字串,中间不要加空格
  • 用数组逐位处理,不要当一个大数算
4L280 补发礼物?

📚 覆盖知识点

状态变量、遍历判断、布尔标记、条件输出

⭐ 难度

入门级,状态模拟

解题思路流程图

初始化 need = false(不需要补发)
↓
遍历n个礼物数量,遇到0就 need = true
↓
need为true输出Yes,否则输出No

⚠️ 需格外注意

  • 只要有一个0就需要补发,用布尔标记即可
  • 输出是Yes/No,注意首字母大写
  • 不需要提前break,全部读完即可
5L285 连胜王

📚 覆盖知识点

状态统计、当前值/最大值、重置逻辑、循环

⭐ 难度

入门级,状态统计

解题思路流程图

初始化 current=0, maxLen=0
↓
赢了(1):current++,更新maxLen
↓
输了(0):current = 0(连胜中断)
↓
n场结束后输出maxLen

⚠️ 需格外注意

  • 两个变量:current当前连胜、maxLen最长连胜
  • 输了一定要把current归零
  • 每次赢了都要和maxLen比较更新
6Z1179 [2022高新区小学组T2] 基础题

📚 覆盖知识点

多计数器、分支判断、三类统计、顺序输出

⭐ 难度

入门级,高新区小学组

解题思路流程图

初始化 pos=0, neg=0, zero=0
↓
遍历n个数:>0 pos++,<0 neg++,==0 zero++
↓
按格式输出 pos neg zero

⚠️ 需格外注意

  • 三个计数器要分清:正数、负数、零
  • else if 顺序不能乱:先判>0,再判<0,最后else是0
  • 输出顺序:正数个数 负数个数 零的个数
7Z1194 [2025庐阳区初中组T1] 智能水族箱系统(flow)

📚 覆盖知识点

过程模拟、状态变量、边界约束、循环操作

⭐ 难度

入门级,庐阳区初中组

解题思路流程图

读入n个操作和初始水位water
↓
+加水water+=x,-放水water-=x
↓
水位不能为负:if(water<0) water=0
↓
所有操作完成后输出water

⚠️ 需格外注意

  • 水位状态要实时更新,每步都检查是否为负
  • 放水后水位低于0要归零,不能输出负数
  • 读入操作符号和数字:char op; int x;
8Z1099 [2022蜀山区初中组T2] 编程猫(cat)

📚 覆盖知识点

坐标模拟、方向判断、字符指令解析、坐标更新

⭐ 难度

普及-,蜀山区初中组

解题思路流程图

初始化 x=0, y=0
↓
逐条读方向:N上y++、S下y--、W左x--、E右x++
↓
所有指令执行完毕,输出 x y

⚠️ 需格外注意

  • 方向是N/S/W/E,不是U/D/L/R,别搞混
  • N=y+1, S=y-1, W=x-1, E=x+1
  • 最后输出格式:x空格y
9Z1207 [2024高新区初中组T1] 汇编语言(assembly)

📚 覆盖知识点

指令模拟、字符串比较、寄存器状态、多分支

⭐ 难度

入门级,高新区初中组

解题思路流程图

初始化寄存器 ax = 0
↓
读指令:MOV x → ax=x
↓
ADD x → ax+=x;SUB x → ax-=x
↓
n条指令后输出ax

⚠️ 需格外注意

  • 指令是字符串"MOV"/"ADD"/"SUB",用string读入再比较
  • ax是一个变量,不需要数组
  • MOV是赋值不是加法,别写错
10Z1203 [2024蜀山区初中组T1] 石头剪刀布(sjp)

📚 覆盖知识点

多条件判断、胜负规则、计数器、字符比较

⭐ 难度

普及-,蜀山区初中组

解题思路流程图

初始化 win = 0(A赢的次数)
↓
每轮读A、B手势,判断A是否赢
↓
A赢的规则:R胜S、S胜P、P胜R
↓
n轮后输出win

⚠️ 需格外注意

  • 三条赢的规则要写全,用||连接
  • R=石头 S=剪刀 P=布,别搞反谁赢谁
  • 只统计A赢的次数,平局和B赢都不计
11G1102 [GESP202509三级] 日历制作-T2

📚 覆盖知识点

闰年判断、月份天数表、函数封装、GESP三级

⭐ 难度

普及,GESP三级真题

解题思路流程图

读入年份year和月份month
↓
判断闰年:(y%4==0 && y%100!=0) || y%400==0
↓
闰年2月=29天,否则2月=28天
↓
输出days[month]

⚠️ 需格外注意

  • 闰年判断三个条件缺一不可
  • 月份天数表:1月31、2月28/29、3月31...记清楚
  • 数组下标从0开始,所以days[0]=0占位
12L278 下载电影(过程模拟)

📚 覆盖知识点

while循环模拟、进度累加、时间计数、边界终止

⭐ 难度

普及-,过程模拟

解题思路流程图

读入电影大小size和下载速度speed
↓
while(downloaded < size):每轮downloaded+=speed, time++
↓
下载完成后输出time

⚠️ 需格外注意

  • 用while循环模拟,不要直接除法(可能有余数)
  • 每轮下载speed大小,时间+1
  • 终止条件:downloaded >= size
13Z1234 [2022合肥市小学组T3] 机器人(robot)

📚 覆盖知识点

方向数组、坐标模拟、多步移动、数组索引

⭐ 难度

普及-,合肥市小学组

解题思路流程图

定义方向数组 dx[]={0,1,0,-1}, dy[]={1,0,-1,0}
↓
初始化 x=0, y=0
↓
每条指令:dir方向+step步长,x+=dx[dir]*step, y+=dy[dir]*step
↓
输出最终坐标 x y

⚠️ 需格外注意

  • 方向数组要对应好:0上1右2下3左
  • 步长可能不是1,要乘以step
  • 用方向数组比写4个if更简洁
14L351 扫地机器人

📚 覆盖知识点

坐标模拟、字符指令、四方向更新、循环读入

⭐ 难度

入门级,坐标模拟

解题思路流程图

初始化 x=0, y=0
↓
逐条读方向指令:U上y++、D下y--、L左x--、R右x++
↓
所有指令执行完毕,输出 x y

⚠️ 需格外注意

  • U=y+1, D=y-1, L=x-1, R=x+1
  • 每次只读一个字符指令
  • 输出格式:x空格y
15P1764 【基础】龟兔赛跑预测(位置模拟)

📚 覆盖知识点

位置模拟、多状态变量、循环竞争、胜负判断

⭐ 难度

入门级,位置模拟经典题

解题思路流程图

读入v1龟速v2兔速t领先距离s睡觉时间l赛程
↓
每轮:乌龟pos1+=v1;兔子不睡觉就pos2+=v2
↓
兔子领先t米就睡s秒(sleep=s)
↓
有人到终点:输出胜者(D平/T龟/R兔)和时间

⚠️ 需格外注意

  • 乌龟一直跑,兔子要先判断是否在睡觉
  • 兔子领先t米才睡觉,刚睡醒的那轮也要跑
  • 同时到终点算平局D,单独到终点分别输出T或R