c语言先来先服务算法
时间: 2023-12-23 22:27:26 浏览: 39
C语言中的先来先服务(FCFS)调度算法可以通过以下代码实现:
```c
#include <stdio.h>
// 定义作业结构体
typedef struct {
int arrivalTime; // 到达时间
int burstTime; // 执行时间
} Job;
int main() {
int n; // 作业数量
printf("请输入作业数量:");
scanf("%d", &n);
Job jobs[n]; // 创建作业数组
// 输入每个作业的到达时间和执行时间
for (int i = 0; i < n; i++) {
printf("请输入第%d个作业的到达时间和执行时间:", i+1);
scanf("%d %d", &jobs[i].arrivalTime, &jobs[i].burstTime);
}
// 按照到达时间排序作业
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (jobs[j].arrivalTime > jobs[j+1].arrivalTime) {
Job temp = jobs[j];
jobs[j] = jobs[j+1];
jobs[j+1] = temp;
}
}
}
// 计算每个作业的等待时间和周转时间
int waitingTime = 0;
int turnaroundTime = 0;
for (int i = 0; i < n; i++) {
if (i > 0) {
waitingTime += jobs[i-1].burstTime;
}
turnaroundTime = waitingTime + jobs[i].burstTime;
}
// 输出每个作业的等待时间和周转时间
printf("作业\t到达时间\t执行时间\t等待时间\t周转时间\n");
for (int i = 0; i < n; i++) {
printf("%d\t%d\t\t%d\t\t%d\t\t%d\n", i+1, jobs[i].arrivalTime, jobs[i].burstTime, waitingTime, turnaroundTime);
}
return 0;
}
```
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)