当前位置:首页 » 编程语言 » 彩票c语言代码困定数
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

彩票c语言代码困定数

发布时间: 2022-09-20 02:39:51

c语言 实现模拟彩票的程序设计:随机产生7个数字(用C语言随机函数产生,[1,33]区间,七个数互

使用结构体链表模拟彩票的摇奖机,来保证每次随机都是不同的数字。

数组也可以模拟,但是删除元素比较麻烦,用链表更快捷。

定义数组指针,动态分配内存。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
typedefstructList{
intnumber;
structList*next;
}ArrayList;
ArrayList*createList(int);//创建链表,参数是链表的节点数
voidfreeList(ArrayList*);//循环释放所有节点的内存
intdeleteNode(ArrayList*,int);//删除节点,返回节点的数据
main(){
//动态创建内存
int*numbers=(int*)calloc(7,sizeof(int));
int*inNumbers=(int*)calloc(7,sizeof(int));
//动态创建数组链表存放1-33个编号
ArrayList*balls=createList(33);
inti;
srand((unsigned)time(NULL));
printf("请输入7个不同的数字(1-33): ");
for(i=0;i<7;i++){
*(numbers+i)=deleteNode(balls,rand()%(33-i));
scanf("%d",inNumbers+i);
}
printf("随机产生的7个数字是: ");
for(i=0;i<7;i++){
printf("%d",*(numbers+i));
}
printf(" 相同的数字: ");
//查找
intj;
for(i=0;i<7;i++){
for(j=0;j<7;j++){
if(*(numbers+i)==*(inNumbers+j)){
printf("%d",*(numbers+i));
break;
}
}
}
//释放内存
free(numbers);
free(inNumbers);
freeList(balls);
}
ArrayList*createList(intn){
ArrayList*head=NULL,*end=NULL,*node=NULL;
end=head=(ArrayList*)malloc(sizeof(ArrayList));//head在删除和插入节点时有用。不能删除head,也不能插入到head前面
inti;
for(i=1;i<=n;i++){
node=(ArrayList*)malloc(sizeof(ArrayList));
node->number=i;
end->next=node;
end=node;
}
end->next=NULL;
returnhead;
}
voidfreeList(ArrayList*head){
ArrayList*node=head;
while(head!=NULL){
head=head->next;
free(node);
node=head;
}
}
intdeleteNode(ArrayList*head,intindex){//index节点索引(0-32),返回被删除的球的编号
ArrayList*node=head->next,*temp=head;
inti=0,number;
while(i<index&&node!=NULL){
temp=node;
node=node->next;
i++;
}
if(node!=NULL){
number=node->number;
temp->next=node->next;
free(node);
}
returnnumber;
}

运行结果

㈡ 用c语言编写体育彩票10选7(7个号码可以重复)的程序,哪位帮帮忙

在vc下是用不了的;
好像vc没有random函数。
#include "stdlib.h" /*调用随机函数*/
main()
{
int i,n,j;
clrscr();/*清屏*/
printf("please input the groups: \n");
scanf("%d",&n);
j=n+1;
while(n)
{
randomize(); /*初始化随机数产生器*/
printf("the %3d groups: ",j-n);
for(i=1;i<8;i++)
printf("%d ",random(10)); /*产生0到(10-1)之间的随机数*/
printf("\n");
n--;
getch();
}
}

㈢ 帮忙用C语言编写一个类此彩票3D生成的随机数的程序

数字三‘彩神通’(包含3D和P3玩法)免费版彩票软件(原名3D‘彩神通’免费版 注已改名).数字三‘彩神通’免费版是数字三‘彩神通’专业版的简化版本。数字三‘彩神通’免费版在操作上与数字三‘彩神通’专业版一样方便、灵活。数字三‘彩神通’免费版采用自行设计的第三代数据处理引擎,是国内外少有的一款功能强大、运算速度极快、设计合理、使用方便的数字选三型彩票软件。
数字三‘彩神通’免费版采用了XP的设计风格,图表画面显示更加流畅,其界面美观大方,色彩淡雅,视觉舒适,界面的设计更加合理、更加实用、更加方便。

㈣ 关于彩票的c语言,结果不对,求大神指点。

1、c语言的数组下标从0开始
所以你的r[6]这个数组,它的有效下标是0到5.
你的
scanf("%d,%d,%d,%d,%d,%d,%d",&cai[1].re.r[1],&cai[1].re.r[2],&cai[1].re.r[3],&cai[1].re.r[4],&cai[1].re.r[5],&cai[1].re.r[6],&cai[1].y);

还有
for(j=1;j<7;j++){
for(q=1;q<7;q++){
if(cai[1].re.r[j]==cai[i].re.r[q])
m=m+1;
}
}
里面的下标都是从1到6的,这些都需要改为从0到5.

2、你的i没什么作用
在while循环里,每次都有
i=1;
i=i+1;
这样每次都用的是i=2,没有继续加下去。
从你的代码看,i是没什么用的。
struct caipiao cai[177];

这个也不需要,只要定义两个caipiao变量就够了

㈤ c语言程序设计——彩票问题




以下的 C 小程序将输出所有 28 个和值的出现的概率(输出贴在程序下面)。
可见概率最高 0.075,最低 0.001,所以已开出的 1000 期彩票中出现频率最高的和值是 13 和 14,
连续未出现期数最长的和值则是 0 和 27 (假设实际概率和理论概率吻合)。

#include<stdio.h>

/* 返回 number 中所有数字的和 */
unsigned sumOfAllDigits( unsigned number );

void main( ) {
/* 最低和值是 0,最高和值是 27,所以共有 28 个和值。*/
#define NUMBER_OF_SUM 28

unsigned chance[ NUMBER_OF_SUM ] = { 0 },
i;

for ( i = 0; i <= 999; i++ )
++chance[ sumOfAllDigits( i ) ];

puts( "和值\t出现的概率" );
puts( "一一\t一一一一一" );
for ( i = 0; i < NUMBER_OF_SUM; i++ )
printf( "%2u\t%.3f\n", i, chance[ i ] / 1000. );
}

unsigned sumOfAllDigits( unsigned number ) {
unsigned sum = 0;
for ( ; number; number /= 10 )
sum += number % 10;
return sum;
}

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

输出:

和值出现的概率
一一一一一一一
00.001
10.003
20.006
30.010
40.015
50.021
60.028
70.036
80.045
90.055
100.063
110.069
120.073
130.075
140.075
150.073
160.069
170.063
180.055
190.045
200.036
210.028
220.021
230.015
240.010
250.006
260.003
270.001


㈥ 彩票选号程序 C语言

自己写程序,然后别人帮你改..没人会帮你写得....

㈦ 彩票兑奖程序 C语言

这是我写的程序 如有问题请发消息给我
#include<stdio.h>
int fun(int *a,int *b)
{ int i,j=0;
for(i=0;i<6;i++)
{if(a[i]==b[i]&&a[i+1]==b[i+1])
j++ ;
else
j=0;
}
return j;
}
void main()
{int i,k;
int b[7],a[7]={0,1,2,3,4,5,6};
for(i=0;i<7;i++)
scanf("%d",&b[i]);
k=fun(a,b);
if(a[6]==b[6]&&k==6)
printf("特等奖");
else
switch(k)
{ case 0:printf("谢谢");break;
case 4:printf("三等奖");break;
case 5:printf("二等奖");break;
case 6:printf("一等奖");break;
}

}

㈧ c语言彩票兑奖程序

#include<stdio.h>
voidmain()
{
inta[]={1,2,3,4,5,6,7};
intb[7],i,j,count=0,max=0,maxflag;
for(i=0;i<7;i++)
scanf("%d",&b[i]);
i=0;
while(i<7)
{
j=0;
count=0;
if(b[i]==a[j])
while(i<7&&j<7&&b[i]==a[j])i++,j++,count++;
else
i++;
if(max<count){max=count;maxflag=i;}
}
count=max;
if(count==7)printf("特等奖 ");
elseif(count==6)
{
if(maxflag==7)
printf("二等奖 ");
else
printf("一等奖 ");

}
elseif(count==5)
{
if(maxflag==7)
printf("三等奖 ");
else
printf("二等奖 ");
}
elseif(count==4)
{
if(maxflag==7)
printf("四等奖 ");
else
printf("三等奖 ");
}
elseif(count==3)
{
if(maxflag==7)
printf("五等奖 ");
else
printf("四等奖 ");
}
elseif(count==2&&maxflag!=7)
printf("五等奖 ");
else
printf("没中奖 ");

}

㈨ 用c语言写一个彩票55选5的代码,怎么写

22选5程序如下。 55选5只需改为v = 55 即可。

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

void main()
{
int i,j,x[5];
int v = 22;
srand((unsigned)time(NULL));
x[0] = rand() % v +1;
for (i=0;i<5;i++) {
Lab: x[i] = rand() % v +1;
for (j=0;j<i;j++) { if (x[i] == x[j]) goto Lab;}
}
for(i=0;i<5;i++) printf("%02d\n",x[i]);
}
====================
计算有多少种?用组合公式计算 就可以了,太简单,就不给你写了
[C 下22 上 5 ,排列组合学过吧]。