zoukankan      html  css  js  c++  java
  • 最高响应比

    #include<stdio.h>

    #include<stdlib.h>

    #define N 100

    typedef struct process {

     int num;

     int time;

     int start;

     int end;

     int begin;

     int freetime;

     int arrivetime;

     int finish;

     int turn;

     double reaction;

     double average;

    }P;

    P a[N],b; int wordtime=0;

    void hrrn(int i,int j,int t,int n){

     a[0].finish=a[0].arrivetime+a[0].freetime;

    wordtime=a[0].finish;    

    a[0].turn=a[0].time;

     a[0].average=(float)a[0].turn/a[0].time;

     for(i=1;i<n;i++)  {

      for(j=i+1;j<n;j++)   {

       if(a[j].arrivetime<=a[i-1].finish)    {

        for(t=i;t<=j;t++)     { 

           a[t].reaction=(float)(a[t-1].finish-a[t].arrivetime+a[t].time)/a[t].time;

         if(a[t].reaction<a[j].reaction)      {

          b=a[j];

          a[j]=a[t];  

         a[t]=b;   

       }  

       }

       }  

     }    if(a[i].arrivetime<a[i-1].finish)   {  

      a[i].finish=a[i-1].finish+a[i].freetime;

       a[i].turn=a[i].finish-a[i].arrivetime;

      }

      else   {  

      a[i].finish=a[i].arrivetime+a[i].freetime;

       a[i].turn=a[i].time;

      }  

     a[i].average=(float)a[i].turn/a[i].time;

      wordtime=a[i].finish;

     }  

    }

    void main() {

     int n=5,i,t,sum=0,num=2,j,x;

     double average=0,turn=0;

      printf("输入进程个数");

      scanf("%d",&n);

     for(i=0;i<n;i++){

      printf(" ");

      printf("输入第%d个进程到达时间:",i+1);

      scanf("%d",&a[i].arrivetime);

      printf("输入第%d个进程需要时间:",i+1);  

     scanf("%d",&a[i].time);

      printf(" ");  

     a[i].start=a[i].arrivetime;   

    a[i].freetime=a[i].time;

      a[i].num=i+1;  

     a[i].start=a[i].end=0;  }

       for(i=0;i<n;i++)  {

      for(t=i+1;t<n;t++)   {

       if(a[t].arrivetime<a[i].arrivetime)    {

        b=a[i];  

       a[i]=a[t];  

       a[t]=b;  

      }    

    else

    if(a[t].arrivetime==a[i].arrivetime)    {

        if(a[i].time>a[t].time)     {

         b=a[i];     

     a[i]=a[t];  

        a[t]=b;  

       }  

      }

      }

     }

      hrrn(i,j,t,n);

     printf("进程号 完成时间 周转时间 带权周转时间 ");

     for(i=0;i<n;i++)  

     printf("%d %d %d %.2f ",a[i].num,a[i].finish,a[i].turn,a[i].average);

       for(i=0;i<n;i++)  {  

     turn=turn+(float)a[i].turn;

      average=average+(float)a[i].turn/a[i].time;

     }  turn=turn/n;

     average=average/n;  

    printf("平均周转时间 平均带权周转时间 ");

        printf("%.2f %.2f ",turn,average);  

    }

  • 相关阅读:
    echarts x轴文字显示不全(xAxis文字倾斜比较全面的3种做法值得推荐)
    从输入URL到页面加载的过程?由一道题完善自己的前端知识体系!
    浏览器多进程架构、浏览器内核多线程、js单线程、GUI 渲染线程 与 JavaScript引擎线程互斥 原理
    通过script src引入ElementUI时,使用语句:window.ELEMENT.MessageBox.alert(xxx) 调用弹出框
    计算2个日期之间的天数
    js 字符串转对象
    requestAnimationFrame 知识点
    vue项目权限控制
    css中权重与继承
    Flex Basis与Width的区别
  • 原文地址:https://www.cnblogs.com/dachui/p/5592287.html
Copyright © 2011-2022 走看看