c语言实现双色球和大乐透
头文件:
#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语言实现双色球和大乐透的更多相关文章
- Python实现双色球和大乐透摇奖
实现代码: # code by kadycui # 模块引用 import random def select(): print('\n') print('请选择彩票种类') print('双色球输入 ...
- python模拟双色球大乐透生成算法
每天练习一段python代码,健康生活一辈子.晚上下班没事,打开电脑继续编写python代码!今天分享的一个是大家熟悉的双色球彩票的游戏,根据这个进行写的一个python算法,代码精简,肯定有bug, ...
- python—模拟生成双色球号和大乐透号
下边这个脚本,比较适合初级学习基本python语法用.但是,不精炼建议可参考https://www.cnblogs.com/Formulate0303/p/14031748.html的写法. 大乐透玩 ...
- Python生成随机验证码,大乐透号码
实例笔记之生成随机号码 扩展知识 - yield(生成器) 随机生成验证码 示例代码: import random # 导入标准模块中的random if __name__ == '__main__' ...
- 大乐透 Java随机码
package suijishu; import java.util.Random; // TODO Auto-generated method stub public class Xuanqi { ...
- python 获取大乐透中奖结果
实现思路: 1.通过urllib库爬取http://zx.500.com/dlt/页面,并过滤出信息 2.将自己的买的彩票的号与开奖号进行匹配,查询是否中奖 3.将中奖结果发生到自己邮箱 caipia ...
- 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(): #生成随机大 ...
- python 写一个生成大乐透号码的程序
""" 写一个生成大乐透号码的程序 生成随机号码:大乐透分前区号码和后区号码, 前区号码是从01-35中无重复地取5个号码, 后区号码是从01-12中无重复地取2个号码, ...
- python简易的大乐透数据获取及初步分析
该项目从网上爬取并分析彩票数据,为用户查看和初步分析往期数据提供一种简易的工具. https://github.com/unknowcry/Lottery # -*- coding: utf-8 -* ...
随机推荐
- Meta 用法汇总
本文引自: http://blog.csdn.net/MR_LP/article/details/53607087 什么是 meta ? meta 是html语言head区的一个辅助性标签.也许你认为 ...
- DMP大数据营销
一.下载大数据营销APP 使用手机浏览器扫描二维码 二.使用大数据营销APP 1.打开app,如果手机没有打开蓝牙和GPS定位app会自动提示让您打开,若app没有提示请手动去打开蓝牙和GPS 2.搜 ...
- (十一)c#Winform自定义控件-列表
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...
- 100天搞定机器学习|day38 反向传播算法推导
往期回顾 100天搞定机器学习|(Day1-36) 100天搞定机器学习|Day37无公式理解反向传播算法之精髓 上集我们学习了反向传播算法的原理,今天我们深入讲解其中的微积分理论,展示在机器学习中, ...
- vue-cli+v-charts实现移动端可视化图表
v-charts是饿了么团队开源的一款基于Vue和Echarts的图表工具,在使用 echarts 生成图表时,经常需要做繁琐的数据类型转化.修改复杂的配置项,v-charts 的出现正是为了解决这个 ...
- Flutter学习笔记(23)--多个子元素的布局Widget(Rwo、Column、Stack、IndexedStack、Table、Wrap)
如需转载,请注明出处:Flutter学习笔记(23)--多个子元素的布局Widget(Rwo.Column.Stack.IndexedStack.Table.Wrap) 上一篇梳理了拥有单个子元素布局 ...
- 玩转 SpringBoot 2 快速搭建 | IntellJ IDEA篇
IntellJ IDEA 介绍 IntelliJ IDEA 简称 IDEA,目前被认为是最好用的开发Java 语言开发工具之一.不过是收费的.和其同类型的工具有 Eclipse 和 MyEclip ...
- XMLHttpRequest的概述
XMLHttpRequest的概述 一.前言 XMLHttpRequest 最早是在IE5中以ActiveX组件的形式实现的.非 W3C 标准. 创建XMLHttpRequest对象(由于非标准所以实 ...
- CSAPP - Ch 1 - 计算机系统漫游
目录 0 序言及摘要 1 信息就是位+上下文 2 程序被其他程序翻译成不同的格式 3 了解编译系统如何工作是大有益处的 0 序言及摘要 (1) 序言: CS:APP -- Computer Syste ...
- 安装Python及各种包/库——没有网络的电脑上
我们做项目时可能会遇到,一些电脑只能联内网或者无法联网,这种情况怎样在电脑上安装Python及各种第三方包/库呢? 1.首先,在有网络的电脑上在python官网下载好python安装包,地址:http ...