操作系统先来先服务调度算法C语言代码
时间: 2023-11-08 08:05:17 浏览: 102
先来先服务 c语言 操作系统 进程作业算法
5星 · 资源好评率100%
很抱歉,根据提供的引用内容,无法回答您的问题。引用内容中提到的是电梯调度算法,而非先来先服务调度算法。如果您有关于电梯调度算法的问题,我可以为您提供帮助。如果您想了解先来先服务调度算法的C语言代码,我可以为您提供以下示例代码:
```
#include <stdio.h>
int main() {
int n, i, j, temp, sum = 0;
float avg;
printf("请输入进程数:");
scanf("%d", &n);
int arrival_time[n], burst_time[n], waiting_time[n], turnaround_time[n];
for (i = 0; i < n; i++) {
printf("请输入第%d个进程的到达时间和执行时间:", i + 1);
scanf("%d%d", &arrival_time[i], &burst_time[i]);
}
for (i = 0; i < n; i++) {
for (j = i + 1; j < n; j++) {
if (arrival_time[i] > arrival_time[j]) {
temp = arrival_time[i];
arrival_time[i] = arrival_time[j];
arrival_time[j] = temp;
temp = burst_time[i];
burst_time[i] = burst_time[j];
burst_time[j] = temp;
}
}
}
for (i = 0; i < n; i++) {
if (i == 0) {
waiting_time[i] = 0;
} else {
sum += burst_time[i - 1];
waiting_time[i] = sum - arrival_time[i];
}
turnaround_time[i] = waiting_time[i] + burst_time[i];
avg += turnaround_time[i]; }
avg /= n;
printf("进程\t到达时间\t执行时间\t等待时间\t周转时间\n");
for (i = 0; i < n; i++) {
printf("%d\t%d\t\t%d\t\t%d\t\t%d\n", i + 1, arrival_time[i], burst_time[i], waiting_time[i], turnaround_time[i]);
}
printf("平均周转时间为%.2f\n", avg);
return 0;
}
```
阅读全文