[問題] 撰寫一程式以產生亂數的問題
看板C_and_CPP (C/C++)作者totoron10 (totoron)時間14年前 (2011/07/29 14:38)推噓1(1推 0噓 7→)留言8則, 4人參與討論串1/2 (看更多)
習題:撰寫一程式產生500個介於1-6之間的亂數,即1<= x <= 6,並統計各數字出現的次數.
以下是程式碼:
#include <stdio.h>
#include <stdlib.h>
#define randomize() srand((unsigned time(NULL))
int main()
{
int i,x,n;
int ctr[6]={0, 0, 0, 0, 0, 0,};
puts("<<Random list>>");
randomize();
for(i = 0;i < 500; i++){
n= rand()% 6 +1;
ctr[n-1]++;
printf("%d ", n);
}
put("");
for(i = 0; i< 6,i++)
print("times of %d = %d\n",i+1,ctr[i]);
system("PAUSE");
return 0;
}
----------------------------------------------------------------
問題:
1.設定一維陣列的用意? 為何都要先設定為0?
2.印出亂數時的n為何是 rand()%6+1,且加1的用意何在?
3.ctr[n-1]++ 的遞增運算為何要減1呢?
4最後,為何靠ctr[i]就可計算出該數字出現的次數?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.125.87
→
07/29 14:46, , 1F
07/29 14:46, 1F
→
07/29 14:54, , 2F
07/29 14:54, 2F
→
07/29 14:55, , 3F
07/29 14:55, 3F
→
07/29 14:56, , 4F
07/29 14:56, 4F
→
07/29 14:59, , 5F
07/29 14:59, 5F
推
07/29 15:20, , 6F
07/29 15:20, 6F
→
07/29 15:24, , 7F
07/29 15:24, 7F
→
07/29 15:26, , 8F
07/29 15:26, 8F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章