#include#definegetpch(type)(type)malloc(sizeof(type))#defineNULL0structjcb{c"> #include#definegetpch(type)(type)malloc(sizeof(type))#defineNULL0structjcb{c" />
先来先服务服务程序.doc

先来先服务服务程序.doc

ID:51436620

大小:36.00 KB

页数:4页

时间:2020-03-24

先来先服务服务程序.doc_第1页
先来先服务服务程序.doc_第2页
先来先服务服务程序.doc_第3页
先来先服务服务程序.doc_第4页
资源描述:

《先来先服务服务程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、#include"stdio.h"#include#include#definegetpch(type)(type)malloc(sizeof(type))#defineNULL0structjcb{charname[10];charstate;/状态/intatime;/到达时刻/intntime;/所需时间/intctime;/完成时刻/intstime;/开始时刻/intttime;/周转时间/floatbttime;/带权周转时间/structjcblink;}ready=

2、NULL,p,q;typedefstructjcbJCB;floatwtime=0,wttime=0,wbttime=0;sort(){if(ready==NULL){p->link=ready;ready=p;q=p;}else{q->link=p;q=p;}}input(){inti,num;printf("请输入作业数:");scanf("%d",&num);for(i=0;i

3、);scanf("%s",p->name);printf("输入作业所需时间:");scanf("%d",&p->ntime);printf("");p->atime=i;p->state='w';p->link=NULL;sort();/调用sort函数/}}intspace(){intl=0;JCBpr=ready;while(pr!=NULL){l++;pr=pr->link;}return(l);}disp1(JCBpr)/建立作业显示函数,用于显示当前作业/{printf("作业名状态开始时刻完成

4、时刻周转时间带权周转时间");printf("%st",pr->name);printf("%ct",pr->state);printf("%dt",pr->stime);printf("%dt",pr->ctime);printf("%dt",pr->ttime);printf("%ft",pr->bttime);printf("");}disp2(JCBpr)/建立进程显示函数,用于显示当前进程/{printf("作业名状态到达时刻所需时间");printf("%st",pr->nam

5、e);printf("%ct",pr->state);printf("%dt",pr->atime);printf("%dt",pr->ntime);printf("");}check()/建立作业查看函数/{JCBpr;pr=ready;printf("当前就绪队列状态为:");/显示就绪队列状态/while(pr!=NULL){disp2(pr);pr=pr->link;}}destroy()/建立作业撤消函数(作业运行结束,撤消作业)/{printf("作业[%s]已完成.",p->na

6、me);free(p);}running(){p->stime=wtime;p->ctime=p->stime+p->ntime;p->ttime=p->ctime-p->atime;p->bttime=(float)p->ttime/(float)p->ntime;wtime=wtime+p->ntime;/printf("时间:%f",wtime);/wttime=wttime+p->ttime;wbttime=wbttime+p->bttime;printf("当前正在运行的作业是:%s",p->name);

7、/显示当前运行作业/disp1(p);destroy();}main()/主函数/{intlen,h=0;charch;input();len=space();while((len!=0)&&(ready!=NULL)){ch=getchar();h++;printf("Theexecutenumber:%d",h);p=ready;ready=p->link;p->link=NULL;p->state='R';running();check();printf("按任一键继续......");ch=getc

8、har();}printf("作业已经完成.");printf("该次作业调度平均周转时间:%f",wttime/len);printf("该次作业调度带权平均周转时间:%f",wbttime/len);ch=getchar();}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。