头文件:

#include<stdio.h>
#include <stdlib.h>
#include<string.h>
#include <time.h>

函数原型:

void sortArray(int *a, int length); // 数组的排序

int randInMinAndMax( int range_min, int range_max );//产生一个0~max之间的某个数

void getRandArray(int *a, int length, int max); //产生某一长度的数组,它的每个元素都是随机生成的,且都在1~max之间、各不相同

void printResult(int *a, int length); //遍历数组

void getReult(char *arg, int *a1, int len1,int max1, int *a2, int len2, int max2);//产生双色球或者大乐透的结果

void hanldeArg(int argl, char *arg); //根据传入的参数判断是需要双色球还是大乐透,并跳转到相应的方法

实现方法:

 void hanldeArg(int argl, char *arg){

     int *a1 = NULL, *a2 = NULL;

     if(strcmp(arg, "双色球") == ){

         a1 = (int *)malloc(sizeof(int) * );

         a2 = (int *)malloc(sizeof(int) * );

         getReult(arg, a1, , , a2, , );

     }else if(strcmp(arg, "大乐透") == ){

         a1 = (int *)malloc(sizeof(int) * );

         a2 = (int *)malloc(sizeof(int) * );

         getReult(arg, a1, , , a2, , );

     }else
printf("参数是 双色球 或者是 大乐透 \n"); if(a1 == NULL){ free(a1); a1 = NULL; } if(a2 == NULL){ free(a2); a2 = NULL; }
}
 void getReult(char *arg, int *a1, int len1,int max1, int *a2, int len2, int max2){

     int i ;

     srand((unsigned)time(NULL));

     for(i = ; i < ; ++i){
getRandArray(a1, len1, max1); getRandArray(a2, len2, max2);
} printf("\n"); printf("%s 红球:", arg); printResult(a1, len1); printf("蓝球:"); printResult(a2, len2); printf("\n");
}
int randInMinAndMax( int range_min, int range_max )
{
int i, u; for(i = ; i < ; ++i)
u = (double)rand() / RAND_MAX * (range_max - range_min) + range_min; return u;
}
 void printResult(int *a, int length){

     int i;

     for(i = ; i < length; ++i){

         printf(" %d ", a[i]);
} }
 void getRandArray(int *a, int length, int max){

     int i, j, flag ;

     int temp;

     for(i =; i < length; ++i){

         exist : {

             //得到一个随机数
temp = randInMinAndMax(, max); flag =; //设置数组中不存在这个数 //判段数组中是否存在
for(j = i; j >= ; --j){ if(temp == a[j]){ flag = ; break;
} }
}; if(flag){ goto exist; } a[i] = temp; } sortArray(a, length);
}
void sortArray(int *a, int length){

    int i, j, temp;

    for(i = ; i < length; ++i){

        for(j = i + ; j < length; ++j){

            if(a[j] < a[i]){

                temp = a[i];

                a[i] = a[j];

                a[j] = temp;

            }

        }

    }
}

测试:

int main(int arcl, char *args[], char **env){

    if(arcl < ){

        printf("请输入参数 双色球 或者是 大乐透 \n");

        return -;

    }

    hanldeArg(arcl, args[]);

    system("pause");

    return ;

}

运行及结果:

c语言实现双色球和大乐透的更多相关文章

  1. Python实现双色球和大乐透摇奖

    实现代码: # code by kadycui # 模块引用 import random def select(): print('\n') print('请选择彩票种类') print('双色球输入 ...

  2. python模拟双色球大乐透生成算法

    每天练习一段python代码,健康生活一辈子.晚上下班没事,打开电脑继续编写python代码!今天分享的一个是大家熟悉的双色球彩票的游戏,根据这个进行写的一个python算法,代码精简,肯定有bug, ...

  3. python—模拟生成双色球号和大乐透号

    下边这个脚本,比较适合初级学习基本python语法用.但是,不精炼建议可参考https://www.cnblogs.com/Formulate0303/p/14031748.html的写法. 大乐透玩 ...

  4. Python生成随机验证码,大乐透号码

    实例笔记之生成随机号码 扩展知识 - yield(生成器) 随机生成验证码 示例代码: import random # 导入标准模块中的random if __name__ == '__main__' ...

  5. 大乐透 Java随机码

    package suijishu; import java.util.Random; // TODO Auto-generated method stub public class Xuanqi { ...

  6. python 获取大乐透中奖结果

    实现思路: 1.通过urllib库爬取http://zx.500.com/dlt/页面,并过滤出信息 2.将自己的买的彩票的号与开奖号进行匹配,查询是否中奖 3.将中奖结果发生到自己邮箱 caipia ...

  7. 08 python学习笔记-随机生成大乐透号码(八)

    1 #产生大乐透号码 2 #前区 1-32,5 后区 1-12,2 3 #1.前区从1-32中级取5个,后区再从1-12里面取2个 4 #01 02 03 04 5 def dlt(): #生成随机大 ...

  8. python 写一个生成大乐透号码的程序

    """ 写一个生成大乐透号码的程序 生成随机号码:大乐透分前区号码和后区号码, 前区号码是从01-35中无重复地取5个号码, 后区号码是从01-12中无重复地取2个号码, ...

  9. python简易的大乐透数据获取及初步分析

    该项目从网上爬取并分析彩票数据,为用户查看和初步分析往期数据提供一种简易的工具. https://github.com/unknowcry/Lottery # -*- coding: utf-8 -* ...

随机推荐

  1. 5月29日 Java性能调优指南 读后感

    并行垃圾收集器 串行垃圾收集器 并发标记清除(CMS)垃圾收集器 Garbage First(G1)垃圾收集器 没有深入的学习G1的原理,只是看了大概的思想; SA工具:待学习

  2. 算法与数据结构基础 - 位运算(Bit Manipulation)

    位运算基础 说到与(&).或(|).非(~).异或(^).位移等位运算,就得说到位运算的各种奇淫巧技,下面分运算符说明. 1. 与(&) 计算式 a&b,a.b各位中同为 1 ...

  3. docker-compose 综合训练

    Docker-compose综合训练 一. 实验目的: 熟悉Docker-compose的基本工作原理: 熟悉Docker-compose安装 熟悉Docker compose命令基础 熟悉Docke ...

  4. web面试

    什么是面向对象? 程序中的事物都是用对象结构来描述的,所有的程序都是用面向对象的思想,管理数据和功能的. 面向对象三大特点:封装 继承 多态 什么是封装? 创建一个对象结构,用来保存一个事物的属性和方 ...

  5. android 编译突然出错,错误原因 Could not resolve com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+.

    错误追根是因为微信支付依赖的错误 解决办法: 微信支付依赖版本+号改为微信支付依赖最新版本 在这里https://bintray.com/wechat-sdk-team/maven可以查看到wecha ...

  6. python面试总结1(基础章节)

    python语言基础 语言特点 python是静态还是动态类型?是强类型还是弱类型 动态强类型语言 动态还是静态指的是编译期还是运作期确定类型 强类型指的是不会发生隐式类型转换 python作为后端语 ...

  7. 8.8 day29 异常处理 UDP通信

    异常处理 什么是异常? ​ 程序在运行过程中出现了不可预知的错误 ​ 并且该错误没有对应的处理机制,那么就会以异常的形式表现出来 ​ 造成的影响就是整个程序无法运行 异常的结构 ​ 1.异常的类型 ​ ...

  8. JS实现循环删除数组中元素的方法介绍

    这篇文章主要给大家介绍了关于Javascript循环删除数组中元素的几种方法,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧. 本文主要跟大家分享了 ...

  9. SpringCould-------使用Hystrix 实现断路器进行服务容错保护

    消费: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.or ...

  10. Python|队列Queue

    一 前言 本文算是一次队列的学习笔记,Queue 模块实现了三种类型的队列,它们的区别仅仅是队列中元素被取回的顺序.在 FIFO 队列中,先添加的任务先取回.在 LIFO 队列中,最近被添加的元素先取 ...