1.
#include <stdio.h>
#include <stdlib.h>
#define SIZE 5
struct Job_type
{
char no[2]; //作业名
int tb; //作业到达时间(分)
int tr; //运行时间(分)
}x,job[5];
void load()
{
int i;
printf("\nEnter the Jobs' datas:\n");
for(i=0;i<SIZE;i++)
scanf("%s%d%d",job[i].no, &job[i].tb, &job[i].tr);
printf("输入作业顺序:\n");
for(i=0;i<SIZE;i++)
printf("\t%s\t%d\t%d\n",job[i].no,job[i].tb,job[i].tr);
}
void fcfs()
{
int i,j,t=0,tw=0,tt=0;
for(i=0;i<SIZE-1;i++)
for(j=i+1;j<SIZE;j++)
if(job[i].tb>job[j].tb)
{
x=job[i];
job[i]=job[j];
job[j]=x;
}
printf("FCFS调度结果:\n");
printf("开始时间 作业号 到达时间 运行时间 完成时间 等待时间 周转时间\n");
for(i=0;i<SIZE;i++)
{
printf(" %d",t);
t=t+job[i].tr;
tw=t-job[i].tb-job[i].tr; //作业等待时间
tt=t-job[i].tb; //周转时间
printf("\t%s\t%d\t%d\t%d\t%d\t%d\n",job[i].no,job[i].tb,job[i].tr,t,tw,tt);
}
}
int main()
{
load();
fcfs();
return 0;
}
2.
#include <stdio.h>
#include <stdlib.h>
#define SIZE 5
struct Job_type
{
char no[2]; //作业名
int tb; //作业开始时间(分)
int tr; //运行时间(分)
}x,job[5];
void load()
{
int i;
printf("\nEnter the Jobs' datas:\n");
for(i=0;i<SIZE;i++)
scanf("%s%d%d",job[i].no, &job[i].tb, &job[i].tr);
printf("输入作业顺序:\n");
for(i=0;i<SIZE;i++)
printf("\t%s\t%d\t%d\n",job[i].no,job[i].tb,job[i].tr);
}
void sjf() //短作业调度函数
{
}
int main()
{
load();
sjf();
return 0;
}