// sun.cpp : 定义控制台应用程序的入口点。 //本算法包含四种调度:先到先服务,短作业优先,时间片轮转,优先级优先! #include"stdio.h" #define N 50 void main() { void sjp(); void fcfs(); void sjf(); void yxj(); int a; while(true) { printf("\n\n"); printf("\t\t/*************************/"); printf("\n\t\t/* 1、先到先服务调度 */"); printf("\n\t\t/* 2、短作业优先调度 */"); printf("\n\t\t/* 3、时间片轮转调度 */"); printf("\n\t\t/* 4、优先级优先调度 */"); printf("\n\t\t/* 0、退出 */\n"); printf("\t\t/*************************/"); printf("\n\n\t 请选择菜单项:\t"); scanf("%d",&a); printf("\n"); switch(a) { case 1: fcfs();break; case 2: sjf();break; case 3: sjp();break; case 4: yxj();break; default: break; } if(a<0&&a>4) break; } } void sjp() { int i,j,n,min,px,sjp,time; float sum1,sum2; bool flag=true; printf("\t 请输入有 n 个进程(050||n<=0) { printf("n\t 请重新输入: "); scanf("%d",&n); } printf("\n\n"); printf("\t 请输入时间片大小(0=0;j--) { for(i=0;ia[i+1].dt) { min=a[i].dt; a[i].dt=a[i+1].dt; a[i+1].dt=min; min=a[i].st; a[i].st=a[i+1].st; a[i+1].st=min; min=a[i].st2; a[i].st2=a[i+1].st2; a[i+1].st2=min; min=a[i].id; a[i].id=a[i+1].id; a[i+1].id=min; } } } time = a[0].dt; //printf("赋值后TIME 值为:%d\n",time); min = 0; while(min0&&a[i].dt<=time) ...