文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>随机数实例

随机数实例

时间:2010-07-22  来源:freeandeasywu

下面是一个生产随机数的实例:  

#include<stdlib.h>
#include<stdio.h>
#include<time.h>
#define TRUE 1
#define FALSE 0
#define N_CARDS 13

void shuffle(int *deck, int n_cards)
{
    int i;
    static int first_time=TRUE;

    if(first_time){
        first_time=FALSE;
        srand((unsigned int) time(NULL));
    }

    for(i = n_cards - 1; i > 0;i-=1)
    {
        int where;
        int temp;
    
        where = rand() % i;
        temp=deck[where];
        deck[where] = deck[i];
        deck[i] = temp;
    }
}

void print(int *deck, int n_cards, void (*fun)(int * , int ))
{
    int i=0;

    printf("inital status .......\n");
    for( ; i < n_cards ; i++ )
    {
        printf("deck[%d]=%d\n",i,deck[i]);
    }
    
    fun(deck , n_cards);
    
    printf("change status .......\n");
    for(i = 0 ; i < n_cards ; i++ )
    {
        printf("deck[%d]=%d\n",i,deck[i]);
    }
}

void main(){
    int *deck=(int *)malloc(N_CARDS * sizeof(int));
    int *p=deck;
    int i = 0;

    for(;p < &deck[N_CARDS]; )//注意:赋值的最有效方式
        *p++ = i++;    

    print(deck, N_CARDS, shuffle);
    
}


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载