C语言---双色球例题(随机数)

题目:随机获取双色球中奖号码

        红色球: 6个,取值范围1~31,(六个球不允许重复)

        蓝色球: 1个,取值范围1~16

代码解析如下

        题目要求输出随机双色球号码,其中蓝色球与红色球的范围不一样,所以需要分别获取随机数,最后合并输出,也可以创建一个新的数组存储红蓝所有数字,然后遍历,我这是直接输出就好。

#include <stdio.h>
//随机数需要引入的头文件
#include <stdlib.h>
#include <time.h>
int main()
{
    //定义红色球6位数字
    int red[6] = {0};
    //定义蓝色球数字默认为0
    int blue = 0;
	int i = 0;
    //定义随机数种子
    srand(time(NULL));
    //给红色球赋值
    while(i<6)
    {
        //获取一个随机数 范围 1~31
        int num = rand() % 31 + 1;
        //唯一标识为1
        int bool = 1;
        //遍历红色球数组,判断数组内是否已经存在数字num
        for(int j = 0;j < 6; j++)
        {
            if(num == red[j])
            {
                //如果存在,修改唯一标识为0
                bool = 0;
            }
        }
        //判断唯一标识是否更改,若未更改,给数组red赋值
        if(bool)
        {
            red[i] = num;
            //赋值一次给i加1,当i赋值6次后,表示赋值完成,退出循环
		    i++;	
		
        }
    }
    //给蓝色球设置随机数 范围1~16
    blue = rand() % 16 + 1;
    //输出最终数字串
    printf("您抽取的双色球号码为\t%d\t",blue);
    for(int i = 0;i<6;i++)
    {
        printf("%d\t",red[i]);
    }
    return 0;
}

        最终结果可以获得一个七位数字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值