2018大华软件大赛模拟赛第2题 (网络上有一台流媒体服务器S和一台客户端C,S向C发送流媒体数据。)...

题目:  网络上有一台流媒体服务器S和一台客户端C,S向C发送流媒体数据。
  1、S的发送速率为M;
  2、C有一个缓冲区B,最大值大小为X,B接收来自S的流媒体,C处理B中的数据并清理,B的处理速度为N。
  3、为保证C处理的效率,当缓冲区大小超过80%时,C发送停止命令给S,S将停止向C发送数据。
  4、当缓冲区大小小于60%时,C向S发送重启发送数据命令,S向C发送数据。
  5、题中所有单位都是基本单位。

请设计一个函数handle_data_func,用来处理缓冲区B,并计算C第一次向S发送重启发送数据命令的时间T0及每次发送重启命令的的时间间隔T1。
注意:输出默认保留两位小数

输入:

  输入的第一行指定用例数量T;
  用例的第二行输入速率M、N;
  用例的第三行输入缓冲区大小X;

输出:

  客户端C第一次向服务端S发送重启发送数据命令的时间及时间间隔。

int handle_data_func(int M,int N,int X,int &T1)
input:
1
2 1
10
output:
10.00
4.00

 

本代码需要用g++ 编译

 1 #include <cstdio>
 2 
 3 double handle_data_func(double M,double N,double X,double &T1)
 4 {
 5     double v = M -N;
 6     double t1 = 0.0, t2 = 0.0;
 7     t1 = (0.8 * X) / v;
 8     t2 = (0.2 * X) / N;
 9 
10     double T0 = t1 + t2;
11 
12     t1 = (0.2 * X) / v;
13 
14     T1= t1 + t2;
15     return T0;
16     
17 }
18 
19 int main()
20 {
21     int i;
22     scanf("%d",&i);
23     double m, n, x;
24     double T0,T1;
25     while(i--)
26     {
27         scanf("%lf%lf",&m,&n);
28         scanf("%lf",&x);
29         T0 =handle_data_func(m, n, x,T1 );
30         printf("%.2f\n",T0);
31         printf("%.2f\n",T1);
32         
33     }
34     return 0;
35 }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值