兰德()函数,如何获取nice [副本]

chhkpiq4  于 2022-12-03  发布在  其他
关注(0)|答案(1)|浏览(107)

此问题在此处已有答案

rand() generating the same number [duplicate](3个答案)
srand() — why call it only once?(7个答案)
16天前关闭。

#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>

int main(){
        for(int i = 0; i <= 4; i = i + 1) {
                int p1;
                    p1 = fork();
                    wait(NULL);
                    int plato;
                   plato = rand()%2;
                   int cant;
                        cant = rand()%6 + 1;
                        int cant1;
                        cant1 = rand()%4 + 1;
                if (p1 == 0) {
                   if (plato = 0){
                        if (cant > 0){
                           printf("\nMesero %d, PPID=%d, pedido de %d postre/s", (i) ,getppid(), cant);
                        printf (", PID=%d\n", getpid());
                        }
                        exit(0);
              } else if (plato = 1){
                    printf("\nMesero %d, PPID=%d, pedido de %d plato/s de alboniga/s", (i) ,getppid(), cant1);
                        printf (", PID=%d\n", getpid());
                        exit(0);
              }
        } else if (p1<0) {
         printf("ERROR");
        }
}

         return 0;
}

答案总是一样的,我需要不同的答案
我想生成一个随机类型的“Platos”,如果它们是甜点或菜肴,则生成一个随机数量

4zcjmb1e

4zcjmb1e1#

#include <time.h>,并作为main()中的第一条语句执行srand(time(NULL));。只要你的程序执行间隔超过1秒,这将创建一个新的伪随机整数序列。在Linux上,/dev/random(阻塞)和/dev/urandom(非阻塞)是熵的替代来源。

相关问题