当前位置:首页 » 编程语言 » c语言彩票

c语言彩票

发布时间: 2023-11-29 20:46:35

‘壹’ 高手帮着做一个c语言课程设计彩票系统的答案呗 就这些分了全给你了啊

不好意思,好久没上了。代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define RAND_MAX 899;
typedef struct Gr
{
char name[10];
int num;
};
main()
{
char laji[100];
Gr Ren[100];
int jiang,n=0;//n为中奖人数,jiang为中奖号码
puts("——————————幻星彩票选购系统!————————\n\n");
char x;
int i=0,j;
int temp=3;
a1:puts("请选择:1-购票,2-自动选号,3-奖金累计,4-开奖(退出请直接关闭程序!)");
scanf("%c",&x);
switch(x)
{
case '1':puts("\n**************-----购票!----************\n");
printf("请输入姓名:");
scanf("%s",Ren[i].name);printf("请输入买入号码(3位数字!):");
scanf("%d",&Ren[i].num);
printf("购票成功,你是第%d位购票人!\n\n************************\n\n",i+1);
i++;
gets(laji);
goto a1;
break;
//case 2
case '2':puts("\n**************-----自动选号!----************\n");
printf("请输入姓名:");
scanf("%s",Ren[i].name);
srand(time(0));
//为了让随机数更随机,多次设置种子数
for(int j=0;j<5;j++)
{
temp=rand();
srand(temp);
}
temp=rand();
Ren[i].num=100+temp%899;
printf("选号成功!您的号码是:%d",Ren[i].num);
printf("\n************************\n\n");
gets(laji);
i++;
goto a1;
break;
//case 3
case '3':puts("\n**************-----奖金累计!----************\n\n");
printf("当前总人数为%d,当前奖金总数为:%d!\n",i,2*i);
gets(laji);
puts("\n\n********************\n\n");
goto a1;
break;
case '4':puts("****************抽奖!***************\n\n");
if(i==0)
{
printf("没有人买彩票,不能开奖!\n\n");
gets(laji);
goto a1;
}
else
{
srand((int)time(0)%temp);
jiang=rand()%899+100;
printf("!!!!!!!!!!!!!!!!本次中奖号码为:%d\n\n",jiang);
for(j=0;j<i;j++)
{
if(Ren[j].num==jiang)
{
printf("中奖人:%s\n",Ren[i].name);
n++;
}
}
if(n==0)
{
printf("本次开奖无中奖人数,奖金将累计到下期!\n\n");
}
else
{
printf("本次中奖人数有:%d人,每人奖金为:%f!\n\n",n,(float)(i*2)/n);
}
printf("欢迎大家使用幻星彩票选购系统,Good Bye!");
}
break;
default:printf("\n************输入错误——————,重新输入!\n\n");
gets(laji);
goto a1;
break;

}
system("pause");
}

‘贰’ 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语言编写彩票6+1程序

#include <stdio.h>
main()
{
int p[7],q[7],n,i; /****p:投注号码,q:开奖号码****/
char c='0';
st(p,q); /****初始化****/
n=pd(p,q);
switch (n)
{
case 6:
{
if(p[6]==q[6]) c='!';
else c='1';
} break;
case 5:
{
if(p[1]!=q[1]||p[4]!=q[4]) c='3';
if(p[2]!=q[2]||p[3]!=q[3]) c='0';
else c='2';
} break;
case 4:
{
if((p[0]!=q[0]&&p[1]!=q[1])||(p[0]!=q[0]&&p[5]!=q[5])||(p[4]!=q[4]&&p[5]!=q[5]))
c='3';
else c='0';
}
}
switch (c )
{
case '!': printf("\nni zhong le te deng jiang!");break;
case '1': printf("\nni zhong le 1 deng jiang!"); break;
case '2': printf("\nni zhong le 2 deng jiang!"); break;
case '3': printf("\nni zhong le 3 deng jiang!"); break;
case '0': printf("\nni mei you zhong jiang!"); break;
}

getch();
}
st(int p[],int q[])
{
int i;
printf("\nXuan zhe tou zhu hao ma: ");
for(i=0;i<7;i++)
scanf("%d",&p[i]);

printf("\nKai jiang hao ma shi: ");
for(i=0;i<7;i++)
scanf("%d",&q[i]);

}
pd(int p[],int q[])
{
int i,n=0;
for(i=0;i<6;i++)
if(p[i]==q[i])
n++;
return(n);
}

‘肆’ 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;
}

运行结果

热点内容
安卓手机华为手机哪个牌子好 发布:2025-01-25 03:55:55 浏览:25
比亚迪发动机压缩比 发布:2025-01-25 03:55:16 浏览:329
全民小视频脚本 发布:2025-01-25 03:54:28 浏览:925
鹦鹉linux 发布:2025-01-25 03:44:02 浏览:196
python如何抛出异常 发布:2025-01-25 03:40:27 浏览:985
更新成本算法 发布:2025-01-25 03:38:09 浏览:115
我的世界在服务器里面用toolbox 发布:2025-01-25 03:38:09 浏览:566
学编程不想学了 发布:2025-01-25 03:36:51 浏览:379
如何压缩0 发布:2025-01-25 03:36:49 浏览:794
服务器主板和家用电脑主板的区别 发布:2025-01-25 03:36:47 浏览:893