close







c++亂數迴圈問題




立即點擊


/*****************hw10_5.c**************/#include#include#defineTOTALCARD52#defineHAND52intmain(){inti,point,card[HAND],sw[TOTALCARD];printf("111111 ");for(i=1;i#include#defineTOTALCARD52#defineHAND52intmain(){inti,point,card[HAND],sw[TOTALCARD];printf("111111 ");for(i=1;i




你的程式在做『切牌』的工作, 用以下的演算法可比你原來的程式簡化。 1.card[0 to 51], 依序存入 1 to 52。 2.以迴圈及亂數產生的位置來隨機打亂原來的牌序: 第1次,產生0 to 51的亂數, card[51]和card[亂數]互換 第2次,產生0 to 50的亂數, card[50]和card[亂數]互換 第3次,產生0 to 49的亂數, card[49]和card[亂數]互換 ...... 第51次,產生0 to 1的亂數, card[1]和card[亂數]互換 以上述演算法為基礎的切牌程式碼如下: #include #include #define TOTALCARD 52 int main() { int i, j,tmp, card[TOTALCARD]; for (i=0; i0;i--) { j = rand() % (i+1); tmp=card[j]; card[j]=card[i]; card[i]=tmp; } for (i=0; i




將point=rand()%TOTALCARD;修改成下列point=1+TOTALCARD*rand()/(1+RND_MAX)


以上文章來自奇摩知識家,如有侵犯請留言告知


https://tw.answers.yahoo.com/question/index?qid=20070511000016KK02720

C902071D09AF7660
arrow
arrow
    文章標籤
    c++
    全站熱搜
    創作者介紹
    創作者 颱風動態 的頭像
    颱風動態

    颱風動態

    颱風動態 發表在 痞客邦 留言(0) 人氣()