首页 / 客观题库

70019 - 2025CSP-J 完善程序1

题目(材料题)

(1)字符串解码

“行程长度编码”(Run-Length Encoding)是一种无损压缩算法,常用于压缩重复字符较多的数据,以减少存储空间。假设原始字符串不包含数字字符,压缩规则如下:
① 如果原始字符串中一个字符连续出现N次$(N>2)$,在压缩字符串中表示为“字符+数字N”。例如,编码”A12”代表12个连续的字符A。
② 如果原始字符串中一个字符只出现1次,在压缩字符串中表示为该字符本身。例如,编码“B"代表1个字符B。


以下程序实现读取压缩字符串并输出其原始的、解压后的形式,试补全程序。

1 #include <cctype>
2 #include <iostream>
3 #include <string>
4 using namespace std;

6 int main() {
7     string z;
8     cin >> z;
9     string s = "";
10    for (int i = 0; ①; )f
11        char ch = z[i];
12    if (isdigit(z[i + 1])) {
13        int count = 0;
14        i++;
15        while (i < z.length() && isdigit(z[i])) {
16            count = ②;
17            i++;
18            for (int j = 0; j < ③; ++j) {
19                S += ch;
20            } else {
21                S += ④;
22                ⑤;
23            }
24        }
25    }
26    cout << s << end;
27    return 0;
28 }

||
( 单选 )

① 处应填(      )。

A i

B i-1>0

C i+1

D isdigit(z[i])

( 单选 )

② 处应填(     )。

A count + (z[i] = ‘0’)

B count * 10 + (z[i] - ‘0’)

C z[i] - ‘0’

D count + 1

( 单选 )

③ 处应填(    )。

A count - 1

B count

C 10

D z[i] - ‘0’

( 单选 )

④ 处应填(    )。

A z[i+1]

B ch

C z.back()

D (char)z[i] + 1

( 单选 )

⑤ 处应填(    )。

A i--

B i = i + 2

C i++

D // 不执行任何操作

意见反馈

    最多上传3张图片,格式为JPG、PNG、JPEG,单张不超过5MB

    注册

    发送验证码

    密码必须包含数字、字母和特殊字符

    找回密码

    发送验证码

    密码必须包含数字、字母和特殊字符

    运行 ID:67149

    • 测试点1:Accepted
    • 用时:0 ms
    • 内存:288 kb
    • 测试点2:Accepted
    • 用时:0 ms
    • 内存:288 kb
    输入
    203
    输出
    203

    test

    测评信息

    错误.in文件下载

    错误.out文件下载

    运行 ID:67149

    2019-01-24 15:06:36