當前位置:首頁 » 編程語言 » 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;
}

運行結果

熱點內容
雷神g50如何設置安卓原生模式 發布:2024-05-19 16:50:04 瀏覽:120
c語言小數四捨五入 發布:2024-05-19 16:23:28 瀏覽:524
資料庫被注入攻擊 發布:2024-05-19 16:21:31 瀏覽:834
微信忘記密碼從哪裡看 發布:2024-05-19 16:06:37 瀏覽:32
寶馬x4貸款買哪個配置好 發布:2024-05-19 15:56:03 瀏覽:22
微控pid演算法 發布:2024-05-19 15:46:31 瀏覽:135
雲盤視頻解壓密碼 發布:2024-05-19 15:23:17 瀏覽:848
和平精英怎麼改地區位置安卓 發布:2024-05-19 15:19:05 瀏覽:286
酒店的路由器如何配置 發布:2024-05-19 15:10:44 瀏覽:500
rpgmaker腳本 發布:2024-05-19 14:48:58 瀏覽:407