#sc3test. 灯光密码测试

    ID: 9380 传统题 30000ms 512MiB 尝试: 0 已通过: 0 上传者: 标签>编程题输入与输出字符串处理复杂的逻辑判断算法输入与输出·二星字符串处理·二星复杂的逻辑判断·二星算法·二星scratch三级

灯光密码测试

题目描述

科技馆里有一排密码灯,密码是一个只包含字符 01 的字符串。其中 1 表示灯亮,0 表示灯灭。

请编写程序完成两项统计:

  1. 一共有多少盏灯是亮着的;
  2. 连续亮着的灯最多有多少盏。

例如,密码 1011100111110100 中共有 10 个字符 1,最长的一段连续亮灯是中间的 11111,长度为 5。

样例舞台效果如下图:

灯光密码舞台效果

输入描述

新建变量“密码”,它的值是长度为 1 到 30 的字符串,并且只包含 01

输出描述

新建变量“亮灯数”,保存密码中字符 1 的总个数。

新建变量“最长连续”,保存最长连续 1 的长度。如果密码里没有 1,结果为 0。

编程提示

  1. 可以从第 1 个字符开始,逐个读取“密码”的每个字符。
  2. 再准备一个变量记录“当前已经连续出现了几个 1”。遇到 1 时把它增加 1,遇到 0 时把它清零。
  3. 每次更新当前连续长度后,都和“最长连续”比较,较大时就更新答案。
  4. 输入变量由系统在运行时给出,不要使用【询问并等待】积木,也不要在程序中修改“密码”。

输入样例

密码 = 1011100111110100

输出样例

亮灯数 = 10

最长连续 = 5