博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FCFS 先来先服务
阅读量:6547 次
发布时间:2019-06-24

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

/*

先来先服务FCFS

要求:

1>用结构体定义程序:程序号,优先数(到达时间),CPU运算所需时间

2>输入进程序列

3>按优先数高低排序输出

*/
#include<stdio.h>
#include<string.h>
#define N 100
typedef struct Time
{
int reachTime; //优先数(程序到达时间)
int runningTime; //CPU运算时间
}Time;

typedef struct Information

{
long ID; //程序号
Time pay;
}INF;

int n;

void readpay(INF p[]);
void DeSortbytheFirst(INF p[]);
void main() //主函数
{
INF p[N];
struct Time;
int sum=0;
int i;
long number;
printf("请输入程序个数:(<100个)");
scanf("%d",&n);
readpay(p);
for(i=0;i<n;i++)
{
sum=sum+p[i].pay.reachTime+p[i].pay.runningTime;
}
printf("\n\n\t\t#####总周转时间为:%d毫秒#####\n\t\n",sum);

DeSortbytheFirst(p);

}

void readpay(INF p[]) //1.输入程序资料

{
int i;
for(i=0;i<n;i++)
{
printf("\n\t请输入第%d个程序号:\n",i+1);
scanf("\t\t%ld",&p[i].ID);

printf("请输入第%d个程序的到达时间:\n",i+1);

scanf("\t\t%d",&p[i].pay.reachTime);

printf("请输入第%d个程序的CPU运算时间:\n",i+1);

scanf("\t\t%d",&p[i].pay.runningTime);
printf("\t\n%10ld %d\t%d\t\n \t周转时间:%d\n",p[i].ID,p[i].pay.reachTime,p[i].pay.runningTime,p[i].pay.reachTime+p[i].pay.runningTime);
}
}

void DeSortbytheFirst(INF p[]) //2.按优先级高到低排序输出

{
int i,j,k,last;
int All;
int a1,a2;
INF temp;

printf("\t####################按优先级高低排序输出##################\n\n");

printf("\n\t程序号\t到达时间\t周转时间\n");

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

{
k=i;
for(j=i+1;j<=n;j++)
{
a1=p[i].pay.reachTime;
a2=p[j].pay.reachTime;
if(a1>a2)
{
temp=p[j];
p[j]=p[i];
p[i]=temp;
}
}

for(k=1;k<n+1;k++)

{
All=p[k].pay.reachTime+p[k].pay.runningTime;
last=k;
}
printf("%10ld\t%d\t\t%d\t\n",p[last].ID,p[last].pay.reachTime,All);
}

}

 

 

转载于:https://www.cnblogs.com/maykok/p/5392542.html

你可能感兴趣的文章
[UNIX环境高级编程]apue.h头文件的配置
查看>>
linux nagios hist_dat_root__32 Error with user uid=517(nagios) gid=517(nagios) groups=517(nagios)
查看>>
【Python】从0开始写爬虫——扒一下狗东
查看>>
sql server 查询某个表被哪些存储过程调用
查看>>
正则表达式基础知识整理
查看>>
一种简单的对象赋值方法,定义实例后以{}赋值,比传统方法更简洁
查看>>
(2)java程序走一遍工作流activiti
查看>>
JQuery学习入门之AJAX
查看>>
Codeforces #426(div2)
查看>>
hdu - 4506 小明系列故事——师兄帮帮忙 【快速幂】
查看>>
面试--百度网页搜索部二面总结
查看>>
浮点运算的优化
查看>>
杭电4883--TIANKENG’s restaurant(区间覆盖)
查看>>
基于MQTT协议谈谈物联网开发
查看>>
gradle使用方法
查看>>
HTML5初学---坦克大战基础
查看>>
Solr增量更新索引
查看>>
web页面播放优酷视频,播放html5视频,兼容ie7 vcastr22.swf播放
查看>>
抵制克苏恩[Lydsy2017年4月月赛]
查看>>
MySql Study Notes
查看>>