学习_意淫彩票生成代码

来源:互联网 发布:java创建数组的方式 编辑:程序博客网 时间:2024/04/29 06:03

/*********************************\
 * 功能:随机生成一张彩票,可    *
 *       选双色球和打乐透        *
 *  2014/6/11  codor    beta1.0  *
 *                               *
\*********************************/
/*
 * 2014/6/11  增加冒泡排序,使输出由小到大
 * 2014/6/12 优化随机生成彩票函数
 * */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void lottery(int,int,int,int);
void welcome();   //欢迎界面
void bye();    //退出界面
void stop_it();//暂停函数

int main(){

 int boo = 0,option = 0;
 int red_ball = 0, blue_ball = 0;
 int red_num = 0, blue_num = 0;
 welcome();
    printf("请输入您的选择:");
    scanf("%d",&boo);
    if(boo == 0){
            bye();
            return 0;
    }
    while(1){
        system("clear");
        printf("********************************************\n");
        printf("********************************************\n");
        printf("*********1、黄大师选出的双色球 *************\n");
        printf("*********2、白小姐偷来的大乐透 *************\n");
        printf("*********0、退出程序           *************\n");
        printf("********************************************\n");
        printf("********************************************\n");
        printf("请选择:");
        scanf("%d",&option);
        switch(option){
            case 1:lottery(6,1,33,16);stop_it();break;//双色球规则
            case 2:lottery(5,2,35,12);stop_it();break;//大乐透规则
            case 0:bye();return 0;
        }
    }
    return 0;
}
void welcome(){
    system("clear");

    printf("********************************************\n");
    printf("********************************************\n");
    printf("********************************************\n");
    printf("**********欢迎使用彩票生成工具!************\n");
    printf("********************************************\n");
    printf("**********继续请输入1,退出请输入0**********\n");
    printf("********************************************\n");
    printf("**********注:谨作娱乐,当真不谢************\n");
    printf("********************************************\n");
    printf("********************************************\n");
}
void bye(){
    system("clear");
    printf("********************************************\n");
    printf("********************************************\n");
    printf("*****************Bye Bye !!*****************\n");
    printf("********************************************\n");
    printf("********************************************\n");
}
void stop_it(){
    char stoping[4];
    printf("返回请输入任意数字:");
    scanf("%s",stoping);
}

void lottery(int red_ball,int blue_ball,int red_num,int blue_num){
   
 int i = 0,j = 0, tmp = 0;
 int red[red_ball], blue[blue_ball];
 srand(time(0));
        /*
    for(i = 0;i < red_ball;i++){
        red[i] = rand() % red_num + 1;
        for(j = 0;j < i;j++){
            if(red[i] == red[j]){
                    red[i] = rand() % red_num + 1;
                    j = -1;
            }
        }
    }*/
    do{
        red[i] = rand() % red_num + 1;
        for(j = 0;j < i;j++){
            if(red[i] == red[j])
                break;
        }
        if(i == j)
            i++;
    }while(i <= red_ball);

    for(i = 0;i < red_ball;i++){
        for(j = 0;j <red_ball - i - 1;j++){
            if(red[j] > red[j+1]){
                tmp = red[j];
                red[j] = red[j+1];
                red[j+1] = tmp;
            }
        }
    }
    for(i = 0;i < blue_ball;i++){
        blue[i] = rand()% blue_num + 1;
    }
    if(blue_ball == 2){
        while(1){
            if(blue[0] == blue[1])
            {
                    blue[0] = rand()%blue_num + 1;
                    continue;
            }

            else {
                if(blue[0]>blue[1]){
                        tmp = blue[0];
                        blue[0] = blue[1];
                        blue[1] = tmp;
                        break;
                }
                break;
            }
        }
    }
    for(i = 0; i < red_ball;i++){
        printf("%d ",red[i]);
    }
 if(blue_ball == 2)
             printf(": %d %d\n",blue[0],blue[1]);
 else
  printf(": %d\n",blue[0]);

}

0 0