问题 单项选择题

两个节点通过长度为L(米)、数据率为B(19ps)、信号传播速度为C(米/秒)的链路相连,要在其问传输长度为D(位)的数据。如果采用电路交换方式,假定电路的建立时间为S(秒),则传送全部数据所需要的时间为 (2) 。如果采用分组交换方式,假定分组的长度为P(位),其中分组头部长度为H(位),采用连续发送方式。忽略最后一个分组填充的数据量,要使电路交换方式的传送时间小于分组交换方式的传送时间,则应满足的条件是 (3)

(2)处应填()。

A.L/C

B.D/B+L/C

C.S+L/C

D.S+D/B+L/C

答案

参考答案:D

判断题
问答题

【说明】 本题中的函数encode()和decode()分别实现对字符串的变换和复原。其中变换函数encode()顺序考查已知字符串的字符,按以下规则逐组生成新字符串: (1)若已知字符串的当前字符不是数字字符,则将该字符复制在新字符串中。 (2)若已知字符串的当前字符是一个数字字符,且它之后没有后继字符,则简单地将它复制到新字符串中。 (3)若已知字符串的当前字符是一个数字字符,并且还有后继字符,设该数字字符的面值为n,则将它的后继字符(包括后继字符是一个数字字符)重复复制n+1次到新字符串中。 (4)以上述一次变换为一组,在不同组之间另插入一个下划线“_”用于分隔。例如,encode()函数对字符串26a3t2的变换结果为666_a_tttt_2。 复原函数decode()做与变换函数encode()相反的工作。即复制不连续相同的单个字符,而将一组连续相同的字符(不超过10个)变换成一个用于表示重复次数的数字符和一个重复出现的字符,并在复原过程中略过变换函数,为不同组之间添加的一个下划线字符。 假定调用变换函数encode()时的已知字符串中不含下划线字符。 【函数】 int encode(char *instr, char *outstr){ char *ip, *op, c; int k,n; ip=instr; op=outstr; while(*ip){ if(*ip>=’0’ && *ip<=’9’ && *(ip+1)){ n= (1) ; c= (2) ; for(k=0; k<n;k++) *op++=c; } else (3) ; *op++=’_’; ip++; } if(op>outstr)op--; (4) ; return op-outstr; } int decode(char *instr, char *outstr){ char *ip, *op, c; int n; ip=instr; op=outstr; while(*ip){ c=*ip; n=0; while(*ip==c&&n<10){ ip++; n++; } if( (5) )*op++=’0’+n-1; *op++=c; if( (6) )ip++; } *op=’\0’; return op-outstr; }