计算平均周转

#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);

}

时间: 2024-10-06 07:15:16

计算平均周转的相关文章

原创:一个由计算平均采购单价引发的学案

原创:一个由计算平均采购单价引发的学案 背景: 前几天接到一个做财务的朋友电话,”说要帮忙统计一个蔬菜的平均采购单价:由于领导要求比较急,自己算的话,大概要2-3个小时,看有没有简单的方法快速统计“:当时正好不太忙,就让朋友把原始文件发了过来:简单分析后,认为用Excle中的Sumproduct函数,通过多条件的求和计算可以实现:就用了大概5分钟左右的时间做好了,正好是朋友想要的:启发: 后来想到这个案例还是蛮经典的,也是自己这么多年驰骋沙场,用到最多的独门秘笈:想象何不制作成视频,让更多的朋友

52.从键盘上输入若干学生成绩(成绩在0~100之间),计算平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入

//1.建立一个for循环用于输入数据,设置退出条件 //2.算出平均成绩 #include<iostream> using namespace std; int main() { int Score,sum=0,k=0; int a[100]; float Average; cout<<"please input some students's score:"<<endl; for(int i=0;i<100;i++) { cin>&g

JAVA 从键盘中输入成绩计算平均成绩以及函数的调用

import java.util.Scanner; public class Test { public static void main(String[] args) { //创建一个学生对象 Student s = new Student(); //创建一个学生成绩对象 StudentScore sc = new StudentScore(); //从控制台接收学生成绩 Scanner input = new Scanner(System.in); //提示用户输入学生成绩 System.o

计算概论(A)/基础编程练习2(8题)/1:求平均年龄

1 #include<stdio.h> 2 int main() { 3 // 声明与初始化 4 int n, count=1, s=0, age=0; 5 6 // 输入学生人数 7 scanf("%d", &n); 8 9 // 循环读入 加和 10 while(count<=n) { 11 scanf("%d",&age); 12 s+=age; 13 count++; 14 } 15 16 // 计算平均年龄输出 17 pr

awk应用-计算学生的平均成绩

让我们来看awk应用的一个例子,其中先对一系列学生的成绩进行相加,然后计算其平均值.下面是输入文件的具体数据: $ cat grades john 85 92 78 94 88 andrea 89 90 75 90 86 jasper 84 88 80 92 84 在学生的姓名后面有5个成绩.下面的脚本将给出每个学生的平均成绩: $ cat grades.awk #求5个成绩的平均值 { total = $2 + $3 + $4 + $5 + $6 avg = total / 5 print $

并发连接数与在线人数的计算

在实际的性能测试中,经常接触到的与并发用户数相关的概念还包括"并发用户数"."系统用户数"和"同时在线用户数",下面用一个实际的例子来说明它们之间的差别. 假设有一个OA系统,该系统有2000个使用用户--这就是说,可能使用该OA系统的用户总数是2000名,这个概念就是"系统用户数",该系统有一个"在线统计"功能(系统用一个全局变量记数所有已登录的用户),从在线统计功能中可以得到,最高峰时有500人在线(这

添加zabbix计算类型项目Calculated items

通过redis自带的info命令可以监控keyspace_hits和keyspace_misses这两个值,但是redis的命中率不能直接获取,可以通过zabbix的calculated items实现监控redis的命中率 https://www.zabbix.com/documentation/2.2/manual/config/items/itemtypes/calculated zabbix从1.8.1开始支持这个功能 在新建item时,需要选择type为Calculated. 在Key

图像平均及其在降噪方面的应用

图像平均及其在降噪方面的应用 图像平均以及图像平均在应对椒盐/高斯/相机噪声方面的对比分析 概述: 图像平均操作是减少图像噪声的一种简单方式. 我们可以简单地从图像列表中计算出一幅平均图像. 假设所有的图像具有相同的大小,我们可以将这些图像简单地相加,然后除以图像的数目,来计算平均图像. 算法步骤: 对列表中的数字图像进行图像平均的处理顺序如下: a.输入或者获取文件名列表 b.读取路径列表中的图像文件,转化为数组进行相加 c.将累加结果除以图像数量,进行平均 d.将平均结果构建为图片 e.输出

集算器如何处理文本计算难题

文本可以说是除了数据库外几乎最常见的数据存储形式,针对文本的计算非常重要.然而文本本身没有计算能力,不象数据库有SQL语法,这样对文本的计算就需要借助程序设计语言编码,而大多数用于文本处理的程序语言都没有集合化的,编写批量运算时很繁琐.比如用Java写个很简单地求和运算就要很多行,如果涉及到过滤分组这种运算就需要几百行代码.近年来新出来的perl,python,R等脚本语言在这些方面有所改善,但对批量结构化计算的支持仍然不足,而且集成性也较差. 还有一种方案是将文本数据导入数据库再利用SQL计算