| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 110 人关注过本帖
标题:洗牌算法
只看楼主 加入收藏
bug娃娃
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2019-3-15
结帖率:83.33%
  已结贴   问题点数:20  回复次数:4   
洗牌算法
//洗牌算法
#include <stdio.h>
#define NUM 54
void main()
{
    int a[54];
    int i,temp,p;
    for( i = 0 ; i < NUM ; i++ )
    {
        a[i] = i + 1;
    }
    for( i =0 ; i < NUM ; i++ )
    {
        p = rand()%( NUM - i ) + i;  //随机的找一个位置
        temp = a[i];
        a[i] = a[p];
        a[p] = temp;
    }
    for( i = 0 ; i < NUM ; i++ )
    {
        printf( "%d ",a[i] );
        if( i % 9 == 0 )
        {
            printf("\n");
        }
    }
    printf( "\n" );
}
不知道为什么总有一个数会自成一排,求教哈。
5 天前 19:14
bug娃娃
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2019-3-15
  得分:0 
为什么每次洗牌都是一样的结果呢?
5 天前 19:45
word123
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:11
帖 子:312
专家分:1422
注 册:2014-4-5
  得分:20 
i=0  会换行,所以第一个数自成一行
5 天前 20:11
word123
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:11
帖 子:312
专家分:1422
注 册:2014-4-5
  得分:0 
if( (i+1) % 9 == 0 )
5 天前 20:13
bug娃娃
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2019-3-15
  得分:0 
Thank you
5 天前 20:31







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.075117 second(s), 8 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved