Q:已知前缀码如右图所示,求0/1字符串“001011101001011001”相对应的译码。
a | b | c |
1 | 01 | 001 |
#include<iostream> #include<cstdio> using namespace std; int f(char *str,int n) { int i=0; while(i<18) { switch(str[i]) { case ‘1‘: printf("a"); break; case ‘0‘: { i++; switch(str[i]) { case ‘1‘:printf("b"); break; case ‘0‘: { i++; switch(str[i]) { case‘1‘:printf("c"); break; } break; } } break; } } i++; } } int main() { char str[18]={001011101001011001}; f(str,18); return 0; }
出现了如下的结果:
时间: 2024-10-27 19:24:51