如何在C中的循环中生成不同的随机数?

如何在C中的循环中生成不同的随机数?,c,loops,random,C,Loops,Random,我想做一个用6个骰子的骰子游戏。每次掷骰我都能生成一个随机数,问题是如果生成的数字是1,每个骰子都是1,我就会得到相同的数字。有没有办法使每个骰子的数字不一样 #include <stdio.h> #include <stdlib.h> #include <math.h> #include <time.h> int main() { int i; int diceRoll; srand(time(NULL));

我想做一个用6个骰子的骰子游戏。每次掷骰我都能生成一个随机数,问题是如果生成的数字是1,每个骰子都是1,我就会得到相同的数字。有没有办法使每个骰子的数字不一样

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

int main() {

    int i;
    int diceRoll;
    srand(time(NULL));
    int r = (rand()%6)+1;

    printf("\t\t\t Welcome to Dice Game!\n");

    for( i = 0; i < 6; i ++){
        diceRoll= r;
        printf(" %d \n", diceRoll);
    }

 return 0;

}
只需将其放入for循环:

并在其外部声明r,如下所示:

int r;
或者你不使用r,程序看起来像这样

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

int main() {

    int count, diceRoll;
    srand(time(NULL));

    printf("\t\t\t Welcome to Dice Game!\n");

    for(count = 0; count < 6; count ++){
        diceRoll = (rand()%6)+1;
        printf(" %d \n", diceRoll);
    }

    return 0;

}
你考虑过< /P>吗?
for( i = 0; i < 6; i ++){
    diceRoll= (rand()%6) + 1;
    printf(" %d \n", diceRoll);
}

我想我定义r有点太早了。谢谢你的帮助!
for( i = 0; i < 6; i ++){
    diceRoll= (rand()%6) + 1;
    printf(" %d \n", diceRoll);
}