先到先服务算法c语言代码
时间: 2023-10-12 18:17:25 浏览: 47
以下是一个基于先到先服务算法的 C 语言代码示例:
```c
#include <stdio.h>
struct Process {
int id; // 进程 ID
int arrival; // 到达时间
int burst; // 执行时间
};
int main() {
int n; // 进程数
printf("请输入进程数:");
scanf("%d", &n);
struct Process p[n];
printf("请输入各进程的到达时间和执行时间:\n");
for(int i = 0; i < n; i++) {
printf("进程 %d:", i + 1);
scanf("%d %d", &p[i].arrival, &p[i].burst);
p[i].id = i + 1;
}
int waiting_time = 0, turnaround_time = 0;
printf("进程执行顺序:");
for(int i = 0; i < n; i++) {
printf("%d ", p[i].id);
waiting_time += turnaround_time - p[i].arrival;
turnaround_time += p[i].burst;
}
printf("\n平均等待时间:%.2f\n平均周转时间:%.2f", (float)waiting_time / n, (float)turnaround_time / n);
return 0;
}
```
输入进程数和各进程的到达时间和执行时间后,程序将按照先到先服务算法对进程进行调度,并输出进程执行顺序、平均等待时间和平均周转时间。