我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

光子vs电子



性别: 帅哥 状态: 该用户目前不在线
头衔: 程序小白
等级: 人见人爱
家族: YD一族
发贴: 3379
威望: 0
浮云: 0
在线等级:
注册时间: 2007-04-29
最后登陆: 2022-12-09

5come5帮你背单词 [ windmill /'windmil/ n. 风车 ]


关于rand函数

目标:生成5个双色球号码
程序:
Copy code
void CPrinter::create_num_array(char * num_array)
{
    int tmp = 0;
    char tmp_str[3]={0};
    int select_num[6]={0};
    bool been_select = false;
    strncat(num_array,"红球:",6);
    for(int i = 0;i<12;i++)
    {
        if(0 == i%2)
        {
            do
            {
                been_select = false;
                tmp = 1+rand()%(33-1);
                for(int j=0;j<6;j++)
                {
                    if(tmp == select_num[j])
                    {
                        been_select = true;
                    }
                }
            }while(true == been_select);
            select_num[i/2]=tmp;
            sprintf(tmp_str,"%d",tmp);
            strncat(num_array,tmp_str,strlen(tmp_str));
        }
        else
        {
          strncat(num_array," ",1);
        }
    }
    strncat(num_array,"\n蓝球:",strlen("\b蓝球"));
    tmp = 1+rand()%(16-1);
    sprintf(tmp_str,"%d\n",tmp);
    strncat(num_array,tmp_str,strlen(tmp_str));
}
/*主函数中调用:create_num_array:*/
      srand((unsigned)time(NULL));
    for(k =0;k<bet_num;k++)
        {
            pt->create_num_array(text);
            pt->PrintString(text);
            printf("%d\n",k);
            memset(text,0,sizeof(text));
        }


结果打印出超过bet_num组号码。跟踪K的值,发现不是0,1,2,3。。。递增而是0,1,2,0,1....不规律增长.屏蔽rand函数,赋常值不回出现此问题。
求达人解救


[ 此帖被光子vs电子在2012-02-07 09:40重新编辑 ]
顶端 Posted: 2012-02-06 17:29 | [楼 主]
绝对烂仔



灌水天才奖 爱心大使勋章
性别: 帅哥 状态: 该用户目前不在线
头衔: 爱不懂浪漫
等级: 前途无量
家族: 跑跑UesTc家族
发贴: 9815
威望: 0
浮云: 92
在线等级:
注册时间: 2006-09-16
最后登陆: 2022-11-20

5come5帮你背单词 [ derive /di'raiv/ vt. 得到,追寻…的起源,派生,引出;vi. 由来,衍生 ]


传说缴了五千多万的税!
顶端 Posted: 2012-02-08 18:17 | [1 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.014179(s) query 6, Time now is:11-21 22:55, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号