标题:洗牌算法
只看楼主
bug娃娃
Rank: 2
等 级:论坛游民
帖 子:101
专家分:27
注 册:2019-3-15
结帖率:95.24%
已结贴  问题点数: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" );
}
不知道为什么总有一个数会自成一排,求教哈。
搜索更多相关主题的帖子: 算法 NUM for i++ printf 
2019-04-15 19:14
bug娃娃
Rank: 2
等 级:论坛游民
帖 子:101
专家分:27
注 册:2019-3-15
得分:0 
为什么每次洗牌都是一样的结果呢?
2019-04-15 19:45
word123
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:13
帖 子:333
专家分:1622
注 册:2014-4-5
得分:20 
i=0  会换行,所以第一个数自成一行
2019-04-15 20:11
word123
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:13
帖 子:333
专家分:1622
注 册:2014-4-5
得分:0 
if( (i+1) % 9 == 0 )
2019-04-15 20:13
bug娃娃
Rank: 2
等 级:论坛游民
帖 子:101
专家分:27
注 册:2019-3-15
得分:0 
Thank you
2019-04-15 20:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-494170-1-1.html




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

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