| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 590 人关注过本帖
标题:无聊 睡不着.写个双色球游戏玩玩!没太检查,估计 BUG 一堆,欢迎指正!
只看楼主 加入收藏
hackrol
Rank: 4
来 自:世界和平组织
等 级:业余侠客
帖 子:62
专家分:267
注 册:2014-9-6
结帖率:0
收藏
 问题点数:0 回复次数:4 
无聊 睡不着.写个双色球游戏玩玩!没太检查,估计 BUG 一堆,欢迎指正!
程序代码:
/*一等奖:7个号码相符(6个红色球号码和1个蓝色球号码)(红色球号码顺序不限,下同)

二等奖:6个红色球号码相符;

三等奖:5个红色球号码和1个蓝色球号码相符;

四等奖:5个红色球号码或4个红色球号码和1个蓝色球号码相符;

五等奖:4个红色球号码或3个红色球号码和1个蓝色球号码相符;

六等奖:1个蓝色球号码相符(有无红色球号码相符均可)。*/

//双色球 gcc版 欢迎交流 QQ 87835836 -- Rol

#include "stdio.h"
#include "time.h"
#include "stdlib.h"

int main(void)
{
    void kaijiang(int jiang[]);
    int zhongjiang(int jiang[],int num[]);
    int num[7]={0},i=0,j,jiang[7]={0};
    printf("红球号码是1-33且不能重复,蓝球号码是1-16!\n\n");
    printf("请输入你要购买的号码:\n");
    while(i<7)
    {    
        printf("第%d位是%s:",i+1,i==6?"蓝球":"红球");
        scanf("%d",&num[i]);
        fflush(stdin);        
        if(num[i]>=1&&num[i]<=33&&i<6)
            for(j=0;j<6;j++)
                if(num[i]==num[j]&&i!=j)    
                goto chukou;
                else ;
        else if(num[i]>=1&&num[i]<=16&&i==6) ;
        else 
        {
            chukou:
            printf("输入错误!\n");
            continue;
        }        
        i++;
        printf("\n");
    }
    printf("你选的号码分别是:\n");
    printf("红1\t红2\t红3\t红4\t红5\t红6\t蓝\n");
    printf("--------------------------------------------------\n");
    for(i=0;i<7;i++) printf("%d\t",num[i]);
    printf("\n按任意键开奖!\n");
    getchar();
    printf("请稍等,正在开奖...\n\n");
    kaijiang(jiang);
    printf("本期的中奖号码分别是:\n");
    printf("红1\t红2\t红3\t红4\t红5\t红6\t蓝\n");
    printf("--------------------------------------------------\n");
    for(i=0;i<7;i++) printf("%d\t",jiang[i]);
    printf("\n");
    printf("\n");
    switch(zhongjiang(jiang,num))
    {
        case 1:printf("恭喜!恭喜!恭喜!\n恭喜您中了一等奖!\n");break;
        case 2:printf("恭喜!恭喜!恭喜!\n恭喜您中了二等奖!\n");break;
        case 3:printf("恭喜!恭喜!恭喜!\n恭喜您中了三等奖!\n");break;
        case 4:printf("恭喜!恭喜!恭喜!\n恭喜您中了四等奖!\n");break;
        case 5:printf("恭喜!恭喜!恭喜!\n恭喜您中了五等奖!\n");break;
        case 6:printf("恭喜!恭喜!恭喜!\n恭喜您中了六等奖!\n");break;
        default:printf("对不起!您没有中奖!\n");
    }
    return 0;
}

void kaijiang(int jiang[])
{
    int i,flag,j;
    for(i=0;i<6;i++)
    {    
        do
        {    
            flag=0;            
            srand((unsigned int)time(NULL));
            jiang[i]=rand()%32+1;
            for(j=0;j<6;j++)
            if(jiang[i]==jiang[j]&&i!=j)
            {
                flag=1;break;
            }
        }while(flag);
    }
    srand((unsigned int)time(NULL));
    jiang[6]=rand()%15+1;
}

int zhongjiang(int jiang[],int num[])
{    
    int count=0,i,j,flag=0;
    for(i=0;i<6;i++)
    for(j=0;j<6;j++)
    if(jiang[i]==num[j])
    {
        count++;break;
    }
    if(jiang[6]==num[6])flag=1;
    if(count==6&&flag==1)return 1;
    else if(count==6) return 2;
    else if(count==5&&flag==1) return 3;
    else if(count==5||(count==4&&flag==1)) return 4;
    else if(count==4||(count==3&&flag==1)) return 5;
    else if(flag==1) return 6;
    else return 0;
}
搜索更多相关主题的帖子: 双色球 六等奖 一等奖 二等奖 三等奖 
2014-10-12 03:38
erty1001
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:331
专家分:1433
注 册:2014-8-31
收藏
得分:0 
简单说说:
凭直觉缺少一段可以修改开奖结果的代码,和现实世界不符合的代码都有缺陷
2014-10-12 11:19
BuilderZ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:82
专家分:123
注 册:2014-9-22
收藏
得分:0 
你要我怎么说呢。。。如果是我的话我会用srand()函数随机生成一个表格然后从表格中抽出前十个号码,虽然不是很懂彩票,但是应该会有用吧,如果要源代码我可以写个你看看
2014-10-15 11:00
hackrol
Rank: 4
来 自:世界和平组织
等 级:业余侠客
帖 子:62
专家分:267
注 册:2014-9-6
收藏
得分:0 
回复 3 楼 BuilderZ
得保证 抽到的不是同一个数!在一个范围内.你是生成一组,我是每一个单独生存!
2014-10-15 15:20
BuilderZ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:82
专家分:123
注 册:2014-9-22
收藏
得分:0 
我不怎么懂彩票...但是可以指定的
2014-10-16 05:39
快速回复:无聊 睡不着.写个双色球游戏玩玩!没太检查,估计 BUG 一堆,欢迎指正!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021061 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved