c语言:为什么rand随机数每次都一样?比如第一个是9,后面全是9。
输入组数:输入q停止。
5 9
有多少面和多少骰子:3
这里有5组3个9边投。
25 ?18 ?14 ?13 ?17
多少套?输入q停止。
q
按任意键继续
*/
#包含?& ltstdio.h & gt
#包含?& ltstdlib.h & gt
#包含?& lttime.h & gt
int?diceroll(int?num,int?侧);?//返回骰子产生的数字的总和。
int?main(void)?{
int?套、方、骰子;?//sets是圈数,侧面,骰子:骰子的个数。
int?我;?//变量初始化
srand((无符号)时间(空));?//?随机数种子应该在main()上初始化
printf("Enter?那个?号码?的?布景:?进入?q?去哪?停下来。\ n ");?//设置?组
while(scanf("%d ",& amp套)?==?1?& amp& amp?布景?& gt?0)?{
printf("如何?很多?两边?然后呢。怎么会?很多?骰子:“);
if(scanf("%d%d ",& amp一边,一边。骰子)?==?2)?{
printf("这里?是吗?%d?布景?的?%d?%d面?投掷。\n”、套、骰子、面);
对于(我?=?0;我?& lt?集合;i++)?//?0-设置回合
printf("%d?",diceroll(边,骰子));//打印出返回值
printf(" \ n ");
printf("如何?很多?布景?进入?q?去哪?停下来。?\ n ");?
}
不然呢?printf("输入?一边,然后呢?骰子?:\ n ");
}
回归?0;
}
int?diceroll(int?side,int?骰子)?{
int?我,sum
对于(我?=?0,求和?=?0;我?& lt?骰子;i++)
sum?+=?rand()%side?+?1;?//产生3个骰子?摇出总和。
回归?总和;?//返回三个骰子的总和。
}