我怎样才能在c中设置rand()功能的结果频率

时间:2015-11-15 22:41:53

标签: c random

我需要编写一个程序来模拟两个骰子的滚动并将它们的总和存储在一个数组中。给出sum = 2& 12的频率应该是最小的并且sum = 7的频率是最大的。 这是我写的代码。我需要2到12之间的随机数和所述频率

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

int main()
{
   int i, n;


   n = 5;
          srand ( time(NULL) );


   for( i = 0 ; i < n ; i++ ) 
   {

      printf("%d\n", rand() % 12);
   }

   return(0);
}

1 个答案:

答案 0 :(得分:2)

调用rand()为36对中的每一对生成一个数字,然后返回总和。

int dice2sum(void) {
  int r = rand()%36;
  int die1 = r%6 + 1;
  int die2 = r/6 + 1;
  return die1 + die2;
}