帮我用C语言写一个模拟进程先进先出算法的程序
时间: 2023-06-07 17:11:15 浏览: 58
好的,请稍等一下,我正在为您编写程序。
以下是C语言代码:
#include <stdio.h>
#define MAX 30
int main()
{
int i, p[MAX], bt[MAX], wt[MAX], tat[MAX], n, total_wt=0, total_tat=0;
float avg_wt, avg_tat;
printf("Enter total number of processes (maximum 30): ");
scanf("%d", &n);
printf("\nEnter Process Burst Time\n");
for(i=0;i<n;i++)
{
printf("P[%d]:", i+1);
scanf("%d", &bt[i]);
p[i]=i+1;
}
wt[0]=0;
for(i=1;i<n;i++)
{
wt[i]=0;
for(int j=0;j<i;j++)
{
wt[i]+=bt[j];
}
}
printf("\nProcess\tBurst Time\tWaiting Time\tTurnaround Time");
for(i=0;i<n;i++)
{
tat[i]=bt[i]+wt[i];
total_wt+=wt[i];
total_tat+=tat[i];
printf("\nP[%d]\t\t%d\t\t%d\t\t%d", p[i], bt[i], wt[i], tat[i]);
}
avg_wt=(float)total_wt/n;
avg_tat=(float)total_tat/n;
printf("\n\nAverage Waiting Time=%.2fms", avg_wt);
printf("\nAverage Turnaround Time=%.2fms", avg_tat);
return 0;
}
请您将以上代码拷贝到您的C语言开发环境中进行编译和运行。程序实现了模拟先进先出算法,输出平均等待时间和平均周转时间。希望这个程序对您有所帮助,谢谢!