生成一个C语言的短作业优先排序
时间: 2024-04-19 11:07:06 浏览: 17
算法的代码。
好的,以下是C语言的短作业优先排序算法:
```
#include<stdio.h>
int main() {
int n, i, j, temp, sum_wait_time = 0, sum_turnaround_time = 0;
float avg_wait_time, avg_turnaround_time;
printf("请输入需要调度的进程数:");
scanf("%d", &n);
int burst_time[n], process[n];
printf("请输入每个进程的运行时间:\n");
for(i = 0; i < n; i++) {
printf("进程 %d:", i + 1);
scanf("%d", &burst_time[i]);
process[i] = i + 1;
}
// 短作业优先算法排序
for(i = 0; i < n - 1; i++) {
for(j = i + 1; j < n; j++) {
if(burst_time[i] > burst_time[j]) {
temp = burst_time[i];
burst_time[i] = burst_time[j];
burst_time[j] = temp;
temp = process[i];
process[i] = process[j];
process[j] = temp;
}
}
}
// 计算等待时间与周转时间
int wait_time[n], turnaround_time[n];
wait_time[0] = 0;
turnaround_time[0] = burst_time[0];
for(i = 1; i < n; i++) {
wait_time[i] = wait_time[i - 1] + burst_time[i - 1];
turnaround_time[i] = turnaround_time[i - 1] + burst_time[i];
sum_wait_time += wait_time[i];
sum_turnaround_time += turnaround_time[i];
}
// 输出结果
printf("\n进程运行顺序为:");
for(i = 0; i < n; i++) {
printf("%d ", process[i]);
}
printf("\n等待时间为:");
for(i = 0; i < n; i++) {
printf("%d ", wait_time[i]);
}
printf("\n周转时间为:");
for(i = 0; i < n; i++) {
printf("%d ", turnaround_time[i]);
}
avg_wait_time = (float)sum_wait_time / n;
avg_turnaround_time = (float)sum_turnaround_time / n;
printf("\n平均等待时间为:%.2f", avg_wait_time);
printf("\n平均周转时间为:%.2f", avg_turnaround_time);
return 0;
}
```
希望这能够帮助你!
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![](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)