C++编程:写一个产生K组福彩M选N的机选彩票号码程序(如K=5, M=35, N=7,表示机选5组35选7的号码)。

C++编程:写一个产生K组福彩M选N的机选彩票号码程序(如K=5, M=35, N=7,表示机选5组35选7的号码)。,第1张

#include <stdioh>

#include <stdlibh>

#include <stringh>

#include <timeh>

void selectsort(int x, int n) {

int i, j, min,t;

for (i = 0; i < n - 1; i++) {

min = i;

for (j = i + 1; j < n; j++) {

if ((x + j) < (x + min)) min = j;

}

if (min != i) {

t = (x + i);

(x + i) = (x + min);

(x + min) = t;

}

}

}

void select(int m,int n,int k) {

int num[36],tmp[36],t;

char filename[] = "C:\\2011\\随机号码txt"; // 选择你需要的路径

FILE fp;

srand((unsigned)time(NULL));

fp = fopen(filename,"wt");

if(fp == NULL) {

printf("打开文件%s错。\n",filename);

exit(1);

}

for(int i = 0;i < k;++i) {

for(int j = 1;j <= m;++j) tmp[j] = j;

for(j = 0;j < n;++j) {

t = (unsigned)rand()%m + 1;

if(tmp[t] != 0) {

num[j] = t;

tmp[t] = 0;

}

else --j;

}

selectsort(num,n);

for(j = 0;j < n;++j) {

fprintf(fp,"%02d ",num[j]);

printf("%02d ",num[j]);

}

fprintf(fp,"\n");

printf("\n");

}

fclose(fp);

}

int main() {

int m,n,k;

printf("被选号码数 : ");

scanf("%d",&m);

printf("可选号码数 : ");

scanf("%d",&n);

printf("所选组数 : ");

scanf("%d",&k);

select(m,n,k);

return 0;

}

/6+1兑奖程序 中奖规则:6+1特等奖,6+0 一等奖,5+1 二等奖,5+0 三等奖;/

#include<stdioh>

#include<stdlibh>

#include<timeh>

int a[7];

int b[7]={-1,-1,-1,-1,-1,-1,-1};

int c;

int i,j,k,flag=1;

void main()

{

time_t t;

srand((unsigned)time(&t));

while(flag)

{

//

printf("**6+1兑奖程序\n姓名: \n");

printf("中 奖 号 码 为:");

for(i=0;i<6;i++)/产生前六个数/

{

while((b[i]<0)||(b[i]>9))

{

b[i]=rand()%10;

for(j=0;j<i;j++)

{

if((i>0)&&(b[i]==b [j]))

{

b[i]=-1;

break;

}

}

}

}

/产生第7位数/

while((b[6]<0)||(b[6]>9))

{

b[i]=rand()%34;

}

for(i=0;i<5;i++)/给前6个数排序/

for(j=0;j<5-i;j++)

for(i=0;i<7;i++)

{

if(b[i]<10)

{

printf("%d",b[i]);

}

else

printf("%3d",b[i]);

}

printf("\n");

printf("\n");

printf("请输入你的7个号码,以空格隔开: ");

scanf("%d%d%d%d%d%d%d",&a[0],&a[1],&a[2],&a[3],&a[4],&a[5],&a[6]);

for(i=0;i<5;i++)

for(j=0;j<5-i;j++);

printf("\n");

//

printf("你输入的号码为:");

for(i=0;i<6;i++)

{

if(a[i]<10)

{

printf("%d",a[i]);

}

else

printf("%3d",a[i]);

}

if(a[6]<10)

{

printf("%d\n",a[6]);

}

else

printf("%3d\n",a[6]);

printf("\n");

/判断彩民输入的号码是否正确(即前6个数在0~33之间,且无重复,第7个数在0~16之间 flag为标志位/

flag=0;

if(a[0]<0)

flag=1;

if(a[5]>9)

flag=1;

if(a[6]<0)

flag=1;

else if(a[6]>9)

flag=1;

for(i=0;i<5;i++)

{

if(a[i]==a[i+1])

flag=1;

}

//

if(flag==1)

{

printf("你输入的号码不正确,请重新输入\n");

printf("\n");

}

}

//

//

/判断中奖情况/

for(i=0,k=0;i<6;i++)

{

if(a[i]==b[i])

k++;

else

break;

}

j=0;

if(a[6]==b[6])

j=1;

/ 中奖规则:6+1一等奖,6+0 二等奖,5+1 三等奖,5+0或4+1 四等奖,4+0或3+1 五等奖,2+1或1+1或0+1六等奖/

if((k==6)&&(j))

printf("恭喜你中了特等奖\n");

else if((k==6)&&(!j))

printf("恭喜你中了一等奖\n");

else if(((k==5)&&(j))||((k==5)&&(!j)))

printf("恭喜你中了二等奖\n");

else if(((k==4)&&(!j))||((k==4)&&(j)))

printf("恭喜你中了三等奖\n");

else

printf("没中奖\n");

printf("\n");

}

/结束/

//使用cmd的定时关机

private void button1_Click(object sender, EventArgs e)

{

if (DateTimeNowHour == intParse(comboBox1Text) && DateTimeNowMinute == numericUpDown2Value)

{

msg=MessageBoxShow("您现在就要关机吗?建议先取消,设置具体时间关机!", "温馨提示!", MessageBoxButtonsYesNo, MessageBoxIconExclamation);

if ( msg== DialogResultYes)

{

SystemDiagnosticsProcessStart("cmdexe", "shutdown -f -s -t 1"); //强制一秒倒计时关机!

}

else

return;

}

我只发个核心代码吧

for (int i1 = 1; i1 <= 36; i1++)

for (int i2 = 1; i2 <= 36; i2++)

for (int i3 = 1; i3 <= 36; i3++)

for (int i7 = 1; i7 <= 36; i7++)

cout << i1 << " " << i2 << " " << << i7 << endl;

你要枚举所有情况,情况总数是36的7次方,所以运行时间很长,可能需要大约1分钟。

并且所有情况都输出到文件的话,输出文件会很大

以上就是关于C++编程:写一个产生K组福彩M选N的机选彩票号码程序(如K=5, M=35, N=7,表示机选5组35选7的号码)。全部的内容,包括:C++编程:写一个产生K组福彩M选N的机选彩票号码程序(如K=5, M=35, N=7,表示机选5组35选7的号码)。、求一用C++编写的彩票6+1兑奖程序,要C++,不要C!不要把printf都带来了,我要的是全部C++!求高手!!!!、用C#编一个彩票机程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9708557.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存