以下是使用 C 语言解决此问题的代码: ```c #include <stdio.h> #include <string.h> void decompress(char* str) { int i = 0; while (str[i]!= '\0') { int num = 0; while (str[i] >= '0' && str[i] <= '9') { num = num * 10 + (str[i] - '0'); i++; } if (num == 0) { printf("%c", str[i]); i++; } else { for (int j = 0; j < num; j++) { printf("%c", str[i]); } i++; } } } int main() { char str[] = "3a5bx"; decompress(str); printf("\n"); char str2[] = "12ab10c2ax"; decompress(str2); return 0; } ``` 在上述代码中,我们通过一个循环遍历输入的字符串。如果遇到数字,就计算出连续的数字表示的数量。如果数字为 0 ,则直接输出当前字符。如果数字不为 0 ,则按照数字的次数输出当前字符。 [2024-11-10 19:31:07 | AI写代码神器 | 299点数解答]