先服务算法下的进程的完成时间,周转时间和等待时间和平均周转时间的c语言代码
时间: 2024-05-16 16:13:32 浏览: 8
下面是先服务算法下进程的完成时间、周转时间、等待时间和平均周转时间的C语言代码:
```c
#include<stdio.h>
int main()
{
int n, i, j;
float avg_wt = 0, avg_tat = 0;
int burst_time[20], waiting_time[20], turnaround_time[20];
printf("Enter the number of processes: ");
scanf("%d", &n);
printf("\nEnter the burst time for each process: \n");
for(i=0; i<n; i++)
{
printf("Process[%d]: ", i+1);
scanf("%d", &burst_time[i]);
}
// First In First Out Algorithm
waiting_time[0] = 0;
for(i=1; i<n; i++)
{
waiting_time[i] = 0;
for(j=0; j<i; j++)
{
waiting_time[i] += burst_time[j];
}
}
// Turnaround time
for(i=0; i<n; i++)
{
turnaround_time[i] = burst_time[i] + waiting_time[i];
avg_wt += waiting_time[i];
avg_tat += turnaround_time[i];
}
printf("\nProcess Burst Time Waiting Time Turnaround Time\n");
for(i=0; i<n; i++)
{
printf("P[%d] %d %d %d\n", i+1, burst_time[i], waiting_time[i], turnaround_time[i]);
}
avg_wt /= i;
avg_tat /= i;
printf("\nAverage Waiting Time: %.2f ms", avg_wt);
printf("\nAverage Turnaround Time: %.2f ms\n", avg_tat);
return 0;
}
```
这个代码输入进程数和每个进程的CPU时间,然后使用先进先出算法计算出等待时间和周转时间,最后输出结果和平均等待时间和平均周转时间。