欢迎来到天天文库
浏览记录
ID:39513994
大小:33.00 KB
页数:10页
时间:2019-07-04
《进程调度算法(fcfs》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include#includestructprocess{ charpname; floatarrivetime; floatservetime; floatfinishtime; floatroundtime; floatdroundtime; floatwaittime; floatyxq; //优先权};structprocesspro[100];//声明函数voidfcfs(structprocesspro[],intn);voidsjf(structprocesspro[],intn);voidgxyb(structproces
2、spro[],intn);structprocess*sortarrivetime(structprocesspro[],intn);voidprint(structprocesspro[],intn); //主函数voidmain(){ intn,i; printf("请输入有几个进程:"); scanf("%d",&n); for(i=0;i3、"%f",&pro[i].arrivetime); printf("服务时间"); scanf("%f",&pro[i].servetime); } fcfs(pro,n); sjf(pro,n); gxyb(pro,n);}//按到达时间进行冒泡法排序structprocess*sortarrivetime(structprocesspro[],intn){ inti,j; structprocessitemp; intflag; for(i=1;i4、ime>pro[j+1].arrivetime) { itemp=pro[j]; pro[j]=pro[j+1]; pro[j+1]=itemp; flag=1; //交换标志 } } if(flag==0) //如果一趟排序中没发生任何交换,则排序结束 break; } returnpro;}//算平均数+输出函数voidprint(structprocesspro[],intn){ inti; floatSumroundtime=0,Sumdroundtime=0; floataveroundtime,avedroundtime; 5、 for(i=0;i6、ro[i].arrivetime,pro[i].servetime,pro[i].finishtime,pro[i].roundtime,pro[i].droundtime); } printf("平均值ttttttt%.2ftt%.2f",averoundtime,avedroundtime);}//先来先服务算法voidfcfs(structprocesspro[],intn){ inti; pro=sortarrivetime(pro,n); pro[0].finishtime=pro[0].arrivetime+pro[0].servetime; p7、ro[0].roundtime=pro[0].finishtime-pro[0].arrivetime; pro[0].droundtime=pro[0].roundtime/pro[0].servetime; for(i=1;i
3、"%f",&pro[i].arrivetime); printf("服务时间"); scanf("%f",&pro[i].servetime); } fcfs(pro,n); sjf(pro,n); gxyb(pro,n);}//按到达时间进行冒泡法排序structprocess*sortarrivetime(structprocesspro[],intn){ inti,j; structprocessitemp; intflag; for(i=1;i4、ime>pro[j+1].arrivetime) { itemp=pro[j]; pro[j]=pro[j+1]; pro[j+1]=itemp; flag=1; //交换标志 } } if(flag==0) //如果一趟排序中没发生任何交换,则排序结束 break; } returnpro;}//算平均数+输出函数voidprint(structprocesspro[],intn){ inti; floatSumroundtime=0,Sumdroundtime=0; floataveroundtime,avedroundtime; 5、 for(i=0;i6、ro[i].arrivetime,pro[i].servetime,pro[i].finishtime,pro[i].roundtime,pro[i].droundtime); } printf("平均值ttttttt%.2ftt%.2f",averoundtime,avedroundtime);}//先来先服务算法voidfcfs(structprocesspro[],intn){ inti; pro=sortarrivetime(pro,n); pro[0].finishtime=pro[0].arrivetime+pro[0].servetime; p7、ro[0].roundtime=pro[0].finishtime-pro[0].arrivetime; pro[0].droundtime=pro[0].roundtime/pro[0].servetime; for(i=1;i
4、ime>pro[j+1].arrivetime) { itemp=pro[j]; pro[j]=pro[j+1]; pro[j+1]=itemp; flag=1; //交换标志 } } if(flag==0) //如果一趟排序中没发生任何交换,则排序结束 break; } returnpro;}//算平均数+输出函数voidprint(structprocesspro[],intn){ inti; floatSumroundtime=0,Sumdroundtime=0; floataveroundtime,avedroundtime;
5、 for(i=0;i6、ro[i].arrivetime,pro[i].servetime,pro[i].finishtime,pro[i].roundtime,pro[i].droundtime); } printf("平均值ttttttt%.2ftt%.2f",averoundtime,avedroundtime);}//先来先服务算法voidfcfs(structprocesspro[],intn){ inti; pro=sortarrivetime(pro,n); pro[0].finishtime=pro[0].arrivetime+pro[0].servetime; p7、ro[0].roundtime=pro[0].finishtime-pro[0].arrivetime; pro[0].droundtime=pro[0].roundtime/pro[0].servetime; for(i=1;i
6、ro[i].arrivetime,pro[i].servetime,pro[i].finishtime,pro[i].roundtime,pro[i].droundtime); } printf("平均值ttttttt%.2ftt%.2f",averoundtime,avedroundtime);}//先来先服务算法voidfcfs(structprocesspro[],intn){ inti; pro=sortarrivetime(pro,n); pro[0].finishtime=pro[0].arrivetime+pro[0].servetime; p
7、ro[0].roundtime=pro[0].finishtime-pro[0].arrivetime; pro[0].droundtime=pro[0].roundtime/pro[0].servetime; for(i=1;i
此文档下载收益归作者所有