zoukankan      html  css  js  c++  java
  • 小练习 简易双色球模拟器

      刚刚吃饭的时候在csdn上看到一个简易的双色球模拟器题目 正好拿来练习一下

      本题目所用到的知识点并不多,主题思路就是 生成随机数程序生成一个随机数,每次存到数组里的同时要检查一下与数组内前几个数是否相等,不相等就直接添加,若是相等的话,记得一定让数组下标退回一个,继续重新生成。

      题目如下:

    编写程序,实现双色球的随机生成,并输出。
    要求:用数组保存,数组类型为整型;输出为7个数据,其中前面6个数据
    不大于33且各不相同;最后一个数据不大于16处理:使用int rand(void)
    或void srand(unsigned seed)函数实现随机数、每生成一个就查找是
    和前面的数据相同,若不同,加入,否则重新生成。
    ---------------------
    作者:杨鑫newlfe
    来源:CSDN
    原文:https://blog.csdn.net/u012965373/article/details/45216937
    版权声明:本文为博主原创文章,转载请附上博文链接!

     

      因为第一次接触随机数生成,关于随机数知识点如下:

    srand函数可以为rand函数设一个种子,一般若是需要真随机数

    种子为time(NULL),time函数可从返回值返回也可以从指针返回,

    返回的是从1970年1月1日至现在的秒数,因为UNIX时间戳是以1970年1月1日0点为计时起点时间的

     

     

    rand函数可以产生小于32767的随机数,
    如果需要的随机数范围超过了32767,可以用rand()*rand()来产生,举例如下:

    产生0~32767范围内的随机数:int num = rand();

    产生0-20范围内的随机数:int num = rand()%20;

    产生1~20范围内的随机数:int num = rand()%20+1;

    产生0~10000000范围内的随机数:int num = rand()*rand()%10000000;

    个人喜欢第二种,好控制范围。

    代码:

    int num = rand()%22;
    printf("%d", num);

    需要的头文件是:#include <stdio.h>

      完整代码如下:

     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 int num[7];
     4 int find(int number,int temp);
     5 int main()
     6 {
     7     int i;
     8     int number = 0;
     9     for(i = 0;i < 6;i++)
    10     {
    11         number = rand()%33;
    12         if(find(number,i) == 0)
    13             num[i] = number;
    14         else
    15             i--;
    16     
    17     }
    18     num[6]= rand()%16;
    19     printf("您这期的双色球号码是:
    ");
    20         for(i = 0; i < 7; i++)
    21         {
    22                 printf("%d ",num[i]);
    23         }
    24         return 0;
    25 
    26     
    27 }
    28 int find(int number,int temp)
    29 {
    30     int j;
    31     for(j = 0;j < temp ;j++)
    32     {
    33         if(number == num[temp])
    34             return 1;
    35     }
    36     return 0;
    37 }

    2019-04-19 11:12:14 编程小菜鸟反思,大佬勿喷,谢谢!

  • 相关阅读:
    《软件工艺》-初评
    UI设计心得(1)
    理想生活应该是...
    OpenPOP.NET+OpenSMTP.NET=?最强.NET开源邮件组件 Mail.NET!
    Outlook应用开发(3)之插件引擎
    最近发现的几个酷.net代码
    买了几本新书,推荐一下
    一个游标简单例子
    winform中捕获程序未处理的所有异常
    DataTable的Merge方法和添加datatable到dataset
  • 原文地址:https://www.cnblogs.com/xgmzhna/p/10734747.html
Copyright © 2011-2022 走看看