黄华冬枣的介绍:请问程序调度(时间片轮转法)用队列怎么做?

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 06:47:32
谢谢
能否尽快回答

#include<stdio.h>
struct pcb
{
char name;
int time;
};
void main()
{
int n,i,j,flag=1;
struct pcb a[100];
printf("输入程序个数:");
scanf("%d",&n);
getchar();/*接收回车*/
for(i=0;i<n;i++)
{
printf("输入程序的名字:如A B C...\n");
scanf("%c",&a[i].name);
getchar();/*接收回车*/
printf("输入占用的时间片:");
scanf("%d",&a[i].time);
getchar();/*接收回车*/
}
i=0;
while(flag && n>0)
{
if(a[i].time!=0)
{
printf("%c",a[i].name);
a[i].time--;
}
for(j=0;j<n;j++)
if(a[j].time)
{
flag=1;
break;
}
else
flag=0;
i=(++i)%n;

}
}
调试通过...