(word完整版)先来先服务调度算法C语言实现.doc 立即下载
2024-09-09
约2.2千字
约2页
0
18KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

(word完整版)先来先服务调度算法C语言实现.doc

(word完整版)先来先服务调度算法C语言实现.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

5 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(word完整版)先来先服务调度算法C语言实现
(word完整版)先来先服务调度算法C语言实现
(word完整版)先来先服务调度算法C语言实现
#include<stdio.h〉
structfcfs				//定义进程的结构体
{
	charname[10];		//进程名
	floatarrivetime;		//到达时间
	floatservicetime;		//服务时间
	floatstarttime;		//开始时间
	floatfinishtime;		//完成时间
	floatzztime;		//周转时间
	floatdqzztime;		//带权周转时间
};
fcfsa[100];	//定义先来先服务算法进程的最大数量	
voidFinput(fcfs*p,intN)		//输入函数
{
	inti;
	printf("输入进程的名称、到达时间、服务时间:(例如:x0100)\n");
	for(i=0;i<=N—1;i++)
	{
		printf(”输入第%d进程的名称、到达时间、服务时间:",i+1);
		scanf(”%s%f%f”,&p[i]。name,&p[i].arrivetime,&p[i]。servicetime);
	}
}
//输出函数
voidFPrint(fcfs*p,floatarrivetime,floatservicetime,floatstarttime,floatfinishtime,floatzztime,floatdqzztime,intN)
{
	intk;
	printf("\n执行顺序:\n");
	printf("%s",p[0].name);
	for(k=1;k<N;k++)
	{
		printf(”-%s”,p[k]。name);
	}
	printf(”\n进程名\tarrive\tservice\tstart\tfinish\tzz\tdqzz\n\n”);
	
	for(k=0;k〈=N—1;k++)
	{
	printf("%s\t%—.2f\t%—。2f\t%-。2f\t%—.2f\t%—。2f\t%—.2f\t\n\n",p[k]。name,p[k].arrivetime,p[k]。servicetime,p[k].starttime,p[k]。finishtime,p[k].zztime,p[k]。dqzztime);
	}
}
voidFsort(fcfs*p,intN)		//按到达时间排序,先到达排在前面
{
	for(inti=0;i〈=N-1;i++)
		for(intj=0;j〈=i;j++)
			if(p[i].arrivetime〈p[j]。arrivetime)
			{
				fcfstemp;
				temp=p[i];
				p[i]=p[j];
				p[j]=temp;
			}
}
//运行结果
voidFdeal(fcfs*p,floatarrivetime,floatservicetime,floatstarttime,floatfinishtime,float&zztime,float&dqzztime,intN)
{
	intk;
	for(k=0;k<=N-1;k++)
	{
		if(k==0)
		{
			p[k]。starttime=p[k].arrivetime;			
			p[k]。finishtime=p[k].arrivetime+p[k]。servicetime;
		}
		else
		{
			p[k].starttime=p[k—1]。finishtime;			//开始时间=前一个进程的完成时间
			p[k].finishtime=p[k-1]。finishtime+p[k]。servicetime;		//结束时间=前一个进程的完成时间+现在进程的服务时间
		}
	}
	for(k=0;k<=N-1;k++)
	{
		p[k].zztime=p[k]。finishtime-p[k]。arrivetime;		//周转时间=完成时间—到达时间
		p[k].dqzztime=p[k].zztime/p[k].servicetime;		//带权周转时间=周转时间/服务时间
	}
}
//先来先服务
voidFCFS(fcfs*p,intN)
{
	floatarrivetime=0,servicetime=0,starttime=0,finishtime=0,zztime=0,dqzztime=0;
	Fsort(p,N);
	Fdeal(p,arrivetime,servicetime,starttime,finishtime,zztime,dq
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

(word完整版)先来先服务调度算法C语言实现

文档大小:18KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用