#include <iostream>
#include <stdlibh>
#include <stdioh>
#include <timeh>
#include<vector>
#include<algorithm>
using namespace std;
int obj[7];
int select[7];
vector<int> bingo,b1;
vector<int>::iterator it;
int rnd(int s[7],vector<int> &b)
{
int i,j;
for( i = 0;i < 7;i++ )
{
s[i]=rand()%33+1;//取1-33的随机数
}
for(i=0;i<7;i++)
{
for(j=i+1;j<7;j++)
{
if (s[i]==s[j]) //判断产生的随机数是否有重复
return 1;//如发生重复返回1
}
}
for(i=0;i<7;i++)
bpush_back (s[i]); //进栈
sort(bbegin (),bend());//对产生随机数排序
return 0;
}
int trap()//用于手选号码的错误判定
{
for(int i=0;i<7;i++)
{
for(int j=i+1;j<7;j++)
{
if (b1[i]==b1[j])//判定是否有重复
return 1;
}
if((b1[i]<1)||(b1[i]>33))//判定是否超出数据范围
return 1;
}
return 0;
}
int hand()//手选号码
{
for(int i=0;i<7;i++)
{
cout<<"请输入第"<<i+1<<"个号码:";
cin>>select[i];
b1push_back(select[i]);
cout<<endl;
}
if (trap()==1)
{
cout<<"您输的号码有重复或超出了1-33的范围,请重新输入"<<endl;
b1clear ();//清空错误数据
hand();//递归,如号码出错重选
}
for (i=0;i<7;i++)
{
cout<<b1[i]<<"\t";//号码正确则输出
}
cout<<endl;
return 0;
}
int god()//机选号码
{
int a;
cout<<"您的机选号码是:"<<endl;
do
{
a=rnd(select,b1);
if(a==0)
for(int i=0;i<b1size();i++)
{
cout<<b1[i]<<"\t";
}
}
while(a==1);//错误控制
cout<<endl;
return 0;
}
int lucky()//产生中奖号码
{
int b;
cout<<"中奖号码是:"<<endl;
do
{
b=rnd(obj,bingo);
if(b==0)
for(int i=0;i<bingosize();i++)
{
cout<<bingo[i]<<"\t";
}
}
while(b==1);
return 0;
}
int check()//检查中奖情况
{
int count=0;//猜中号码个数
for(int i=0;i<7;i++)
{
it=find(bingobegin(),bingoend(),b1[i]);
if(it!=bingoend())
{
count++;
}
}
return count;
}
int result(int p)//概率统计
{
int c[8]={0,0,0,0,0,0,0,0};
int yun;
lucky();
for(int k=0;k<p;k++)
{
god();
c[check()]++;//将猜中每个号码个数的次数存入该数组相应的下标元素
b1clear ();
}
cout<<endl<<"在上述测试中:"<<endl;
for(int j=0;j<8;j++)
{
yun=c[j]100/p;
cout<<"猜中"<<j<<"个号码的次数为"<<c[j]<<"次"<<endl;
cout<<"猜中"<<j<<"个号码的概率为"<<yun<<"%"<<endl;
}
bingoclear ();
return 0;
}
int main()
{
char l;
int t=0;
srand( (unsigned)time( NULL ) );//随机种子
do
{
cout<<""<<endl;
cout<<" 全民大**,惊喜多多,中奖多多,欢迎大家踊跃购买啦! "<<endl;
cout<<" 压得多,赢得多,回家买辆大卡车! "<<endl;
cout<<" 开心刺激33选7,马上就要开始了,赶快押宝了 "<<endl;
cout<<""<<endl;
cout<<"[1]手选号码"<<endl;
cout<<"[2]机选号码"<<endl;
cout<<"[3]概率统计"<<endl;
cout<<"[4]退出"<<endl;
cout<<"请输入您的选择[1-3]";
cin>>l;
switch(l)
{
case '1':
hand();
lucky();
cout<<endl<<"您猜中了"<<check()<<"个号码"<<endl;
bingoclear ();
b1clear ();
break;
case '2':
god();
lucky();
cout<<endl<<"您猜中了"<<check()<<"个号码"<<endl;
bingoclear ();
b1clear ();
break;
case '3':
cout<<"请输入测试的次数:";
cin>>t;
result(t);
break;
case '4':
cout<<"十赌九输啊!快走吧,再晚了就改不上2路汽车了"<<endl;
break;
default:
cout<<"请输入1-3之间的数字"<<endl;
}
}
while(l!='4');
return 0;
}
我以前用过的一个程序 你试试
import javautilArrayList;
import javautilCollections;
import javautilList;
import javautilRandom;
public class Main {
public static void main(String[] args) {
//红球 33 选6
List<Integer> redBall = new ArrayList<Integer>();
for(int i=0;i<33;i++){
redBalladd(i+1);
}
Systemoutprintln("开奖红球:" + select(redBall, 6));
//篮球16选1
List<Integer> blueBall = new ArrayList<Integer>();
for(int i=0;i<16;i++){
blueBalladd(i+1);
}
Systemoutprintln("开奖蓝球:" + select(blueBall, 1));
}
public static List<Integer> select(List<Integer> list,int count){
List<Integer> selectedList = new ArrayList<Integer>();
Random random = new Random();
for(int i=0;i<count;i++){
int index = randomnextInt(listsize());
Integer number = listget(index);
selectedListadd(number);
listremove(index);
}
Collectionssort(selectedList);
return selectedList;
}
}
数字三『彩神通』(包含3D和P3玩法)免费版**软件(原名3D『彩神通』免费版 注已改名)数字三『彩神通』免费版是数字三『彩神通』专业版的简化版本。数字三『彩神通』免费版在 *** 作上与数字三『彩神通』专业版一样方便、灵活。数字三『彩神通』免费版采用自行设计的第三代数据处理引擎,是国内外少有的一款功能强大、运算速度极快、设计合理、使用方便的数字选三型**软件。
数字三『彩神通』免费版采用了XP的设计风格,图表画面显示更加流畅,其界面美观大方,色彩淡雅,视觉舒适,界面的设计更加合理、更加实用、更加方便。
以上就是关于求个简单的彩票小程序 课设用 帮帮忙全部的内容,包括:求个简单的彩票小程序 课设用 帮帮忙、Java 实现彩票程序、帮忙用C语言编写一个类此彩票3D生成的随机数的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)