一、问题描述
采用C语言实现优先级调度算法。编制进程调度模拟程序,并计算每个进程的周转时间,带权周转时间,以及所有进程的平均周转时间和平均带权周转时间。
二、源代码
#include <iostream>
#include <iomanip> //格式化输出
using namespace std;
//最大进程数
#define MAXSIZE_N 10
//定义数据结构
struct PCB{
int number;//进程代号
int arrive_time;//到达时间
int serve_time;//服务时间
int priority;//优先级
int finish_time=0;//记录结束运行时刻
};
int main(){
int n;//进程总数
PCB p_list[MAXSIZE_N];//PCB数组
cout<<"======非抢占的优先级调度算法======\n";
//读入进程信息
cout<<"请输入进程总数:" ;
cin>>n;
for(int i=0;i<n;i++){
cout<<"\n"<<i+1<<":\n请依次输入进程的信息\n请输入进程代号number = ";
cin>>p_list[i].number;
cout<<"请输入到达时间arrive_time = " ;
cin>> p_list[i].arrive_time;
cout<<"请输入服务时间serve_time = " ;
cin>> p_list[i].