博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
计算平均周转
阅读量:6686 次
发布时间:2019-06-25

本文共 1494 字,大约阅读时间需要 4 分钟。

#include<stdio.h>

#include<stdlib.h>

#define N 100

typedef struct process {

 int time; 

  char name;

 int end;  

 int freetime;  

int arrivetime;  

 int finish;      

 int turn;        

 double average;   

}P;

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

void fcfs(int i,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++)//执行  {

  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 i,j,n,sum=0;  double average=0,turn=0;   

      printf("请输入进程个数: \n");

 scanf("%d",&n);

 getchar();

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

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

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

  printf("第%d个的需要时间 :",i+1);

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

 printf("\n");

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

     }

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

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

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

    b=a[i];    

 a[i]=a[j];   

  a[j]=b;  

  }  

  else if(a[j].arrivetime==a[i].arrivetime)    {

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

     b=a[i];

     a[i]=a[j];  

    a[j]=b;   

  }   

 }  

 }  

}

 fcfs(i,j,n);  

 printf("完成时间\t周转时间\t带权周转\n");

 for(i=0;i<n;i++)   printf("%d\t\t%d\t\t%.2f\n",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("平均周转     平均带权周转\n");   

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

  }

转载于:https://www.cnblogs.com/dachui/p/5592279.html

你可能感兴趣的文章
两道题学习动态规划
查看>>
mysql实战31 | 误删数据后除了跑路,还能怎么办?
查看>>
ASP.NET MVC Razor
查看>>
Subscribe的第四个参数用法
查看>>
零值比较--BOOL,int,float,指针变量与零值比较的if语句
查看>>
vue-cli的项目加入骨架屏
查看>>
c#获取电脑硬件信息参数说明(硬盘篇 Win32_DiskDrive)
查看>>
3.SOAP和WSDL的一些必要知识
查看>>
使用element中的table组件,如何单击某一行数据时选中对应的复选框
查看>>
饿了么预点单是不是营业时间开始后5分钟内不接单,订单就自动取消
查看>>
1.3 简单的操作符
查看>>
13机器学习实战之PCA(1)
查看>>
tf.argmax()以及axis解析
查看>>
android使用Pull解析来自服务器的xml文件时出现错误以及解决方案
查看>>
C#_delegate - 调用列表 计算阶乘
查看>>
xib下这种方式创建cell
查看>>
BZOJ2940 条纹
查看>>
Scala入门教程---《chang哥教你一天搞定Scala》
查看>>
当view为wrap_conten时获取一个view的具体宽高
查看>>
第三篇 - int内置函数
查看>>