當前位置:首頁 » 網頁前端 » 撲克牌腳本公式
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

撲克牌腳本公式

發布時間: 2023-08-09 16:29:49

① 用簡單c語言,隨機輸出17張撲克牌,包括花色。大小王也要隨機。

1、C語言提供了一些庫函數來實現隨機數的產生。C語言中有三個通用的隨機數發生器,分別為 rand函數, random函數, randomize 函數
但是rand函數產生的並不是真意正義上的隨機數,是一個偽隨機數,是根據一個數,稱之為種子,為基準以某個遞推公式推算出來的一系數,當這系列數很大的時候,就符合正態公布,從而相當於產生了隨機數,但這不是真正的隨機數,當計算機正常開機後,這個種子的值是定了的,除非破壞了系統,為了改變這個種子的值,C提供了srand()函數,它的原形是void srand( int a)。
在調用rand函數產生隨機數前,必須先利用srand()設好隨機數種子,如果未設隨機數種子,rand()在調用時會自動設隨機數種子為1。一般用for語句來設置種子的個數。


2、常式:

#include"stdio.h"
#include<stdlib.h>
#include<math.h>
intmain()
{
charstr[13][5]={{"A"},{"2"},{"3"},{"4"},{"5"},{"6"},{"7"},{"8"},{"9"},{"10"},{"J"},{"Q"},{"K"}};
intb[]={1,2,3,4};//1紅桃2黑桃3放片4梅花
charstr1[5][10]={{"紅桃"},{"黑桃"},{"方塊"},{"梅花"},{}};
srand(NULL);
inta,c,i;
intarr[17][2]={0};//記錄17個數字a[i][0]表示數字a[i][1]表示顏色一共54張牌,4張A--K1大王1小王1-4=>A5-8=>253=>小王54大王,產生不重復的17個數字
intk=0;
while(k<17)
{
a=rand()%54+1;//a<53時候a=(a-1)/4;//1-4=>05-8==>1
//printf("%3d",a);
if(a<53)
{
a=(a-1)/4;
c=rand()%4;
for(i=0;i<17;i++)
{
if(a==arr[i][0]&&c==arr[i][1])
break;
}
if(i<17)
{
arr[k][0]=a;
arr[k][1]=c;
k++;
}
}
if(a==53||a==54)
{
for(i=0;i<17;i++)
{
if(a==arr[i][0])
break;
}
if(i<17)
{
arr[k][0]=a;
arr[k][1]=4;
k++;
}

}
}
for(i=0;i<17;i++)
{
//printf("%s%s ",str1[arr[i][1]],str[arr[i][0]]);
printf("%d",arr[i][0]);
}
}