永发信息网

编程实现一个时间轮转法进程调度算法 要求进程的运行时间随机产生 时间片通过键盘输入

答案:2  悬赏:70  手机版
解决时间 2021-12-24 13:33
  • 提问者网友:献世佛
  • 2021-12-23 16:57
就是这样 球速度 10分钟之内
最佳答案
  • 五星知识达人网友:老鼠爱大米
  • 2021-12-23 18:13
前几天才写的,新鲜热辣。你把100改为10即可。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define SEQLEN 100

int main(int argc, char** argv)
{
int i = 0;
int seq[SEQLEN];
// 不直接产生随机数,而是产生随机位置,再到序列中提取相应位置上的数字。
for (i = 0; i < SEQLEN; i++)
{
seq[i] = i+1;
}
// 初始化种子。
int seed = (int)time(NULL);
printf("%d\n", RAND_MAX);
for (i = 0; i < SEQLEN; i++)
{
// 每次得e5a48de588b6e799bee5baa6e79fa5e9819331333262383639到随机数后,放大的因子从100到1逐步缩小。
int offset = (int)((double)rand_r(&seed)*(SEQLEN-i)/RAND_MAX);
// 每得到一个随机位置后,就把序列中相应位置上的数字替换到序列后部。
int tmp = seq[offset];
seq[offset] = seq[SEQLEN-i];
seq[SEQLEN-i] = tmp;
}
for (i = 0; i < SEQLEN; i++)
{
printf("%3d, ", seq[i]);
if (i % 10 == 9)
{
printf("\n");
}
}
printf("\n");
return 0;
}
全部回答
  • 1楼网友:玩家
  • 2021-12-23 19:24
你好! 搞操作系统啊,我都是用的现成的系统,不然就裸奔 希望对你有所帮助,望采纳。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯