| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3112 人关注过本帖
标题:一个有意思的小程序(体育彩票)
只看楼主 加入收藏
铁棒磨针
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2004-4-29
收藏
 问题点数:0 回复次数:13 
一个有意思的小程序(体育彩票)
我不会做复杂的主要知识有限:) (丢人了!) /* 模拟体育彩票机 */ #include <stdio.h> #include <time.h> #include <conio.h> /*抽取时间控制*/ #define max 120

typedef int datatype; #include "seqlist.h"

rand(seqlist *l,int n); write(seqlist *l,int n); void take_out(); int a[7];

int main() { seqlist *l; int i,j,n,k=0; srand((int)time(0));

printf("您要买多少注?"); scanf("%d",&n); printf("一共%d元\n",n*2);

l=(seqlist *)malloc(n*sizeof(seqlist)); if(l==null) { puts("overflow!"); exit(1); }

for(i=0;i<n;i++) setlist(&l,7);

printf("1.机选 2.自选"); while(k!=1&&k!=2) scanf("%d",&k);

if(k==1) rand(l,n); /* 机选 */

else write(l,n); /* 自选 */

printf("抽奖开始\n"); take_out();

printf("本期开奖号码为:"); for(i=0;i<7;i++) printf("%d ",a); printf("\n");

for(i=0;i<n;i++) { k=0; for(j=0;j<7;j++) { if(a[j]==getdata(&l,j)) /* 当对应都一样时 */ k++; } printf("您第%d注号码为: ",i+1); for(j=0;j<7;j++) printf("%d ",getdata(&l,j));

printf(" 一共中了%d个号\n",k);

}

for(i=0;i<n;i++) { freelist(&l); clearlist(&l); }

free(l); return 0; }

rand(seqlist *l,int n) /* 机选 */ { int i,j,a;

for(i=0;i<n;) { for(j=0;j<7;j++) { if(j==6) insertrear(&l,rand()%8); /* 随即抽取特别号码 */

else insertrear(&l,rand()%10); /* 随即抽取一般号码 */ }

printf("您随即抽取的第%d注号码为:",i+1); for(j=0;j<7;j++) printf("%d ",getdata(&l,j));

printf("\n1.继续 2.此注重抽:"); scanf("%d",&a);

if(a==2) { freelist(&l); clearlist(&l); continue; }

else i++; } }

write(seqlist *l,int n) /* 自选 */ { int i,j,a1; datatype k=-1;

for(i=0;i<n;) { printf("第%d注:\n",i+1); for(j=0;j<7;j++) { if(j==6) { while(1) { printf("请输入第%d个号",j+1); scanf("%d",&k); if(k<7&&k>0) break; } insertrear(&l,k);

} else { while(1) { printf("请输入第%d个号",j+1); scanf("%d",&k); if(k<9&&k>0) break; } insertrear(&l,k); } }

printf("您选取的第%d注号码为:",i+1); for(j=0;j<7;j++) printf("%d ",getdata(&l,j));

printf("\n1.继续 2.此注重抽:"); scanf("%d",&a1);

if(a1==2) { freelist(&l); clearlist(&l); continue; }

else i++; } }

void take_out() { int i,j=0;

printf("按任意键开始抽奖\n"); getch();

for(i=0;i<7;i++) { if(i==6) { while(j<max) { a=rand()%8; if(j==1) {printf("即将开出的特别号码是"); sleep(1); } printf("%d",a); delay(1000); clrscr(); j++; } printf("特别号码为:%d\n",a[6]); clrscr(); }

else { while(j<max) { a=rand()%10; if(j==1) {printf("即将开出的第%d号码是"); sleep(1); } printf("%d",a); delay(1000); clrscr(); j++; } printf("开出的第%d个号为:%d\n",i+1,a); sleep(2); } j=0; } }

[此贴子已经被作者于2004-05-06 00:02:30编辑过]

搜索更多相关主题的帖子: 体育彩票 int seqlist include 
2004-05-06 00:00
铁棒磨针
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2004-4-29
收藏
得分:0 

头文件:seqlist.h

/* 顺序表存储结构 */ #include <stdlib.h>

typedef struct { DataType *data; /* data是动态数组*/ int max,size; /* max是数组长度,size是元素个数*/ }SeqList;

void SetList(SeqList *L,int n) /* 构造函数,建立数组长度为n的空表*/ { L->data=(DataType*)malloc(n*sizeof(DataType)); if(L->data==NULL) { puts("overflow"); exit(1); } L->max=n; L->size=0; }

void FreeList(SeqList *L) /* 析构函数,释放数组空间 */ { free(L->data); }

int ListSize(SeqList *L) /* 求表长,返回值是表中元素个数 */ { return L->size; }

int ListEmpty(SeqList *L) /* 判空 */ { if(L->size==0) return 1; return 0; }

int ListFull(SeqList *L) /* 判满 */ { if(L->size==L->max) return 1; return 0; }

DataType GetData(SeqList *L,int pos) /* 取线性表中下标为pos的元素 */ { if(pos<0||pos>L->size-1) { puts("Pos out of range!"); exit(1); } return L->data[pos]; }

int Locate(SeqList *L,DataType item) /* 定位,返回元素item在线性表中的下标 */ { int i=0; while(i<L->size-1&&item!=L->data) i++; if(i<=L->size-1) return i; return -1; /* 表中无元素item,返回-1 */ }

void SetData(SeqList *L,DataType item,int pos) /* 用item更新表中下标为pos的元素 */ { if(pos<0||pos>L->size-1) { puts("Pos out of range!"); exit(1); } L->data[pos]=item; }

void Insert(SeqList *L,DataType item,int pos) /* 在表中下标pos位置插入元素item */ { int i=0; if(pos<0||pos>L->size-1) { puts("Pos out of range!"); exit(1); }

if(L->size==L->max) { puts("SeqList is full!"); exit(1); }

for(i=L->size;i!=pos;i--) L->data=L->data[i-1]; L->data[pos]=item; L->size++; }

void InsertRear(SeqList *L,DataType item) /* 尾插 */ { if(L->size==L->max) { puts("SeqList is full!"); exit(1); }

L->data[L->size]=item; L->size++; }

void DeleteList(SeqList *L,int pos) /* 删除表中下标为pos的元素 */ { int i=0; if(L->size==0) { puts("SeqList is empty!"); exit(1); }

if(pos<0||pos>L->size-1) { puts("Pos out of range!"); exit(1); }

for(i=pos+1;i<L->size-1;i++) L->data[i-1]=L->data; L->size--; }

void ClearList(SeqList *L) /* 清表 */ { L->size=0; }

世事难料
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2004-5-3
收藏
得分:0 

有时间定要运行!

顶起先!

yemuhu
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2004-5-8
收藏
得分:0 
有HTML码不好看

≯★星河欲转千帆舞 ◇◇◇◇◇◇◇ ◇◇◇◇◇◇◇ 友谊随心播四方★≮ .................................
yemuhu
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2004-5-8
收藏
得分:0 
打个包上来

≯★星河欲转千帆舞 ◇◇◇◇◇◇◇ ◇◇◇◇◇◇◇ 友谊随心播四方★≮ .................................
flytosky
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2004-5-10
收藏
得分:0 
顶一下

嘿嘿
chengstone
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
帖 子:562
专家分:226
注 册:2004-4-3
收藏
得分:0 

虽然没看全 但是还是顶一下先

主要是html 太麻烦 碍眼


qq:69558139
xuanxuan
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2004-6-11
收藏
得分:0 
发贴时,能不能高点质量,如果再这样你是自己搬起石头砸自己啊。
lenghuai
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2004-6-23
收藏
得分:0 
希望论坛上有多些这样的程序,当然,是要正确的.这样有利于新手学习.

[此贴子已经被作者于2004-07-01 16:03:15编辑过]



lwj8410
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2004-9-11
收藏
得分:0 

我么没有运行成功?????

  • 14
  • 1/2页
  • 1
  • 2
快速回复:一个有意思的小程序(体育彩票)
数据加载中...
 
   



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

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