#include<stdio.h>
#include<stdlib.h>
int main() {
int n;
int *waitTimes, *runtimes;
printf("Enter the number of processes you want to create: ");
scanf("%d", &n);
waitTimes = malloc(sizeof(int) * n);
runtimes = malloc(sizeof(int) * n);
if (!waitTimes) {
printf("\nFailed to create an array");
exit(1);
}
for (int i = 0; i < n; i++) {
printf("P%d run time: ", i);
scanf("%d", &runtimes[i]);
}
waitTimes[0] = 0;
for (int i = 1; i < n; i++) {
waitTimes[i] = 0;
for (int j = 0; j < i; j++) {
waitTimes[i] += runtimes[j];
}
}
printf("Process\t\tRun Time\tWait Time\tTurnaround Time\n");
int sumWaitTimes = 0;
int sumTurnaTime = 0;
for (int i = 0; i < n; i++) {
printf("P%d\t\t%d\t\t%d\t\t%d\n", i, runtimes[i], waitTimes[i], runtimes[i] + waitTimes[i]);
sumWaitTimes += waitTimes[i];
sumTurnaTime += runtimes[i] + waitTimes[i];
}
printf("Average Waiting Time: %d\n", sumWaitTimes / n);
printf("Average Turnaround Time: %d\n", sumTurnaTime / n);
}
先来先服务(FCFS)作业调度算法(C)
最新推荐文章于 2024-10-10 15:28:42 发布