黑马程序员技术交流社区

标题: 双色球。。看你买彩票能中么 [打印本页]

作者: huanglinwang    时间: 2016-5-26 21:19
标题: 双色球。。看你买彩票能中么
#include <stdio.h>
#include <stdlib.h>
int  panDuan(int arr[],int len,int suiJiShu);
int main(int argc, const char * argv[]) {

    //产生6个1-33之间的随机数并且不能重复;

    //定义数组接收产生的6个随机数
    int arr[6];

    //数组长度
    int len = sizeof(arr)/sizeof(int);

    //循环产生随机数并且判断是否重复
    for (int i = 0 ; i < len;) {
        //产生一个随机数
        int a = arc4random_uniform(33)+1;

        //这里定义一个函数用来返回  0  1  来判断数组中是否存在这个数
//        panDuan(arr, len, a);
        //判断这个随机数是否在数组中存在   存在就赋值,不存在就继续循环
        if (panDuan(arr, len, a)) {
            arr[i] = a;
            i++;
        }

    }
    //遍历数组

    for (int i = 0 ; i < len; i++) {
        printf("%d\t",arr[i]);
    }

    return 0;
}
int  panDuan(int arr[],int len,int suiJiShu){

    for (int i = 0 ; i < len; i++) {
        //如果存在相同的数字就返回一个0
        if (suiJiShu == arr[i]) {
            return 0;
        }
    }
    return 1;
}



作者: huzhiqiang    时间: 2016-5-26 21:44
beautiful  赞
作者: 12138    时间: 2016-5-26 22:42
学些了学习了
作者: yu2323637    时间: 2016-5-29 22:03
嗯嗯,中了跟你分点~
作者: vivi342863    时间: 2016-5-29 22:04
哈哈,学过不久,还是有实用性的.
作者: jdc123    时间: 2016-5-29 22:54
哎吆,不错哦!这个产生随机数的函数基础班没教过吧
作者: 选择天涯    时间: 2016-5-30 00:05
  可以哦,刚学习了  #include <stdlib>
                             int main( ) {
                                   

}
            随机数学会了 但还不会怎样去避免产生重复数的问题                    
作者: 2457740857    时间: 2016-5-30 00:09
表示看不懂。。
作者: wangxiaoxuxu    时间: 2016-5-31 22:31
好厉害!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2