zoukankan      html  css  js  c++  java
  • 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
    ",T0);
    31         printf("%.2f
    ",T1);
    32         
    33     }
    34     return 0;
    35 }
  • 相关阅读:
    [转]Putty中文乱码解决方法
    linux内核编译
    grub2的使用
    linux的简单网络配置
    [转]建立swap分区
    [转]ps/2键盘线序识别方法
    Linux下备份系统至另一硬盘
    [转]Vimium快捷键
    [转] C中的位域
    [转]diskpart命令
  • 原文地址:https://www.cnblogs.com/leezheng/p/8972159.html
Copyright © 2011-2022 走看看