#include using namespace std; #define MAX 10 struct task_struct { char name[10]; /*进程名称*/ int number; /*进程编号*/ float come_time; /*到达时间*/ float run_begin_time; /*开始运行时间*/ float run_time; /*运行时间*/ float run_end_time; /*运行结束时间*/ int priority; /*优先级*/ int order; /*运行次序*/ int run_flag; /*调度标志*/ }tasks[MAX]; int counter; /*实际进程个数*/ int fcfs(); /*先来先服务*/ int ps(); /*优先级调度*/ int sjf(); /*短作业优先*/ int hrrn(); /*响应比高优先*/ int pinput(); /*进程参数输入*/ int poutput(); /*调度结果输出*/ void main()//主函数 { int option; pinput(); printf("请选择调度算法(0~4):\n"); printf("1.先来先服务\n"); printf("2.优先级调度\n"); printf(" 3.短作业优先\n"); printf(" 4.响应比高优先\n"); printf(" 0.退出\n"); scanf("%d",&option); switch (option) { case 0: printf("运行结束。\n"); break; case 1: printf("对进程按先来先服务调度。\n\n"); fcfs(); poutput(); break; case 2: printf("对进程按优先级调度。\n\n"); ps(); poutput(); break; case 3: printf("对进程按短作业优先调度。\n\n"); sjf(); poutput(); break; case 4: printf("对进程按响应比高优先调度。\n\n"); hrrn(); poutput(); break; } } int fcfs() /*先来先服务*/ { float time_temp=0; int i; int number_schedul; time_temp=tasks[0].come_time; for(i=0;itasks[i].priority) { max_priority=tasks[j].priority; i=j; } j++; } /*查找第一个被调度的进程*/ /*对第一个被调度的进程求相应的参...