那写一个FCFS算法的c语言代码
时间: 2023-10-12 16:15:07 浏览: 106
下面是一个简单的 FCFS(先来先服务)算法的 C 语言代码示例:
```c
#include<stdio.h>
int main() {
int n, i, j, bt[20], wt[20], tat[20], avwt=0, avtat=0;
printf("Enter total number of processes(maximum 20): ");
scanf("%d", &n);
printf("\nEnter Process Burst Time\n");
for(i=0; i<n; i++) {
printf("P[%d]: ", i+1);
scanf("%d", &bt[i]);
}
wt[0]=0; //waiting time for first process is 0
//calculating waiting time
for(i=1; i<n; i++) {
wt[i]=0;
for(j=0; j<i; j++)
wt[i] += bt[j];
}
printf("\nProcess\tBurst Time\tWaiting Time\tTurnaround Time");
//calculating turnaround time
for(i=0; i<n; i++) {
tat[i] = bt[i] + wt[i];
avwt += wt[i];
avtat += tat[i];
printf("\nP[%d]\t\t%d\t\t%d\t\t%d", i+1, bt[i], wt[i], tat[i]);
}
avwt /= i;
avtat /= i;
printf("\n\nAverage Waiting Time: %d", avwt);
printf("\nAverage Turnaround Time: %d", avtat);
return 0;
}
```
这段代码的输入是每个进程的 CPU 执行时间(即 Burst Time),输出是每个进程的等待时间(Waiting Time)和周转时间(Turnaround Time),以及所有进程的平均等待时间(Average Waiting Time)和平均周转时间(Average Turnaround Time)。
注:以上代码仅供参考,实际应用中需要根据具体情况进行修改和完善。
阅读全文