标题:求助一下,这个彩票程序怎么编啊
只看楼主
devilhunter2
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2011-7-3
结帖率:0
已结贴  问题点数:10 回复次数:2 
求助一下,这个彩票程序怎么编啊
这是一个3D彩票的程序,比如50天的开奖号码是{446}{578}{843}{498}{256}{277}。。。。。。。比如对第三天开奖号837来说,约定本期开奖号码出现在上期为复,出现在上上期为隔,都不在为中,那么837对应的复隔中为fgz(复=f隔=g中=z),我现在想编这样一个程序,把这些开奖号的复隔中都算出来,程序如下#include "stdio.h"
 但是我想把fgz gfz zfg fzg gzf zgf都用fgz表示,直选复隔中共有27种,其他的ggz,ffg...都是一样就是把组选复隔中一样的都用一个表示。共有十种可能:fgz fff ffg ffz fgg fzz ggg ggz gzz zzz 并屏幕输出,谁能帮我编一下啊,尽量别用指针,我不熟,谢谢
main()
{static int b[50][3],a[50][3]={{6,8,7},{3,8,4},{8,9,5},{1,2,1},{0,0,4},{8,7,7},{8,6,4},{7,4,4},{6,5,5},{7,2,4}};
int i,j;
for (i=2;i<50;i++)
{if(a[i][0]==a[i-1][0])b[i][0]='f';
else if(a[i][0]==a[i-1][1])b[i][0]='f';
else if(a[i][0]==a[i-1][2])b[i][0]='f';
else if(a[i][0]==a[i-2][0])b[i][0]='g';   
else if(a[i][0]==a[i-2][1])b[i][0]='g';
else if(a[i][0]==a[i-2][2])b[i][0]='g';
else b[i][0]='z';
}
for (i=2;i<50;i++)
{if(a[i][1]==a[i-1][0])b[i][1]='f';
else if(a[i][1]==a[i-1][1])b[i][1]='f';
else if(a[i][1]==a[i-1][2])b[i][1]='f';
else if(a[i][1]==a[i-2][0])b[i][1]='g';   
else if(a[i][1]==a[i-2][1])b[i][1]='g';
else if(a[i][1]==a[i-2][2])b[i][1]='g';
else b[i][1]='z';
}
for (i=2;i<50;i++)
{if(a[i][2]==a[i-1][0])b[i][1]='f';
else if(a[i][2]==a[i-1][1])b[i][2]='f';
else if(a[i][2]==a[i-1][2])b[i][2]='f';
else if(a[i][2]==a[i-2][0])b[i][2]='g';   
else if(a[i][2]==a[i-2][1])b[i][2]='g';
else if(a[i][2]==a[i-2][2])b[i][2]='g';
else b[i][2]='z';
}

for (i=2;i<50;i++)
for (j=0;j<3;j++)
{ printf("%c",b[i][j]);
 if(j==1)printf("\n");
}
for (i=0;i<50;i++)
for (j=0;j<3;j++)
{ printf("%d",a[i][j]);
 if(j==1)printf("\n");}
}

[ 本帖最后由 devilhunter2 于 2012-6-30 13:54 编辑 ]
搜索更多相关主题的帖子: 3D彩票 开奖号码 include 
2012-06-30 13:45
hfhf2006
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:62
专家分:169
注 册:2012-6-29
得分:10 
但是我想把fgz gfz zfg fzg gzf zgf都用fgz表示,直选复隔中共有27种,其他的ggz,ffg...都是一样就是把组选复隔中一样的都用一个表示。共有十种可能:fgz fff ffg ffz fgg fzz ggg ggz gzz zzz 并屏幕输出,谁能帮我编一下啊,尽量别用指针,我不熟,谢谢
,这里没看懂,你那前面用二维数据,是对内存极大地浪费,用一维就可以了
2012-06-30 14:25
devilhunter2
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2011-7-3
得分:0 
回复 2楼 hfhf2006
谢谢你帮我啊,就是这个意思,以第三天开奖号843为例,前两天开奖号为446 578,当第三天开奖号为843时,对百位8,上期578中有则b[3][0]=f,对十位4上上期中有4,则b[3][1]=g,对个位3前两期都没有,那么b[3][2]=z,但是当开奖号为483时b[3][0]=g,b[3][1]=f,b[3][2]=z,所以843有六种形式843 834 348 384 438 483,b[i][0-2]也有六种可能fgz fzg gfz gzf zfg zgf,但是他们可用一种形式简单表示fgz,就像843 834 348 384 438 483可用一种形式348表示一样,也就是说348是类,843 834 348 384 438 483是他的六种对象,你可以看看这个网站http://www.,好好了解一下复隔中
2012-06-30 15:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-372547-1-1.html




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

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