最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語(yǔ)言實(shí)現(xiàn)計(jì)算雙色球的中獎(jiǎng)率

 更新時(shí)間:2022年12月09日 15:31:44   作者:編程小魚六六六  
這篇文章主要為大家詳細(xì)介紹了如何利用C語(yǔ)言實(shí)現(xiàn)計(jì)算雙色球的中獎(jiǎng)率,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

規(guī)則

“雙色球”每注投注號(hào)碼由 6 個(gè)紅色球號(hào)碼和 1 個(gè)藍(lán)色球號(hào)碼組成。紅色球號(hào)碼從 1--33 中選擇;藍(lán)色球號(hào)碼從 1--16 中選擇。“雙色球”每注 2 元??偠灾?,就是從 1-33 個(gè)數(shù)中選擇 6 個(gè)數(shù),再?gòu)?1-16 個(gè)數(shù)中選擇 1 個(gè)數(shù)。中獎(jiǎng)的條件如下:

編寫思路

編寫該程序我使用了結(jié)構(gòu)體數(shù)組。如果這個(gè)號(hào)碼被選中,就會(huì)被標(biāo)記,下次就不會(huì)選擇。選擇我使用了隨機(jī)數(shù)生成,并且隨機(jī)種子使用了毫秒級(jí)別,防止短時(shí)間內(nèi)產(chǎn)生兩相同的數(shù)。

首先生成一組雙色球中獎(jiǎng)號(hào)碼。然后用循環(huán)隨機(jī)生成 N 組購(gòu)買號(hào)碼,使用購(gòu)買號(hào)碼與中獎(jiǎng)號(hào)碼進(jìn)行對(duì)比來(lái)確定是否中獎(jiǎng),以及中獎(jiǎng)等級(jí),然后計(jì)算中獎(jiǎng)金額,將中獎(jiǎng)的總次數(shù)除以購(gòu)買的次數(shù),就可以計(jì)算出中獎(jiǎng)率,如果次數(shù)不夠,計(jì)算出來(lái)的就不準(zhǔn)確,我使用 1000000 次,可以模擬出中獎(jiǎng)率在 6.7% 左右。但是中一等獎(jiǎng)的概率是幾乎沒有。

感興趣的同學(xué)可以將多試幾次看能否出現(xiàn)一等獎(jiǎng)。

運(yùn)行結(jié)果

源碼

// 程序功能:雙色球中獎(jiǎng)率計(jì)算
// 編譯環(huán)境:VS2013
// 結(jié)    論:中獎(jiǎng)率為 6.7%
 
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<time.h>
#include<sys/timeb.h>
 
struct RED
{
  bool IS_CHOSE;
  int number;
};
 
struct BLUE
{
  bool IS_CHOSE;
  int number;
};
 
void initBALL(RED *red, BLUE *blue);
void printfZJ(RED *red, BLUE *blue);
int printfZT(RED *red, BLUE *blue, RED *myred, BLUE *myblue);
 
int main()
{
  struct timeb timeSeed;
  ftime(&timeSeed);
  srand(timeSeed.time * 1000 + timeSeed.millitm);
  printf("彩票中獎(jiǎng)號(hào)碼為:\n");
  RED red[33];
  BLUE blue[16];
  initBALL(red, blue);
  printfZJ(red, blue);
  int CS = 1000000;  // 購(gòu)買次數(shù)
  int ZERO = 0;
  int ONE = 0;
  int TWO = 0;
  int THREE = 0;
  int FOUR = 0;
  int FIVE = 0;
  int SIX = 0;
  for (int i = 0; i < CS; i++)
  {
    //printf("購(gòu)買的彩票號(hào)碼為:\n");
    RED myred[33];
    BLUE myblue[16];
    initBALL(myred, myblue);
    //printfZJ(myred, myblue);
    int DJ = printfZT(red, blue, myred, myblue);
    switch (DJ)
    {
    case 0:ZERO++; break;
    case 1:ONE++; break;
    case 2:TWO++; break;
    case 3:THREE++; break;
    case 4:FOUR++; break;
    case 5:FIVE++; break;
    case 6:SIX++; break;
    }
  }
 
  printf("總共選擇%d次\n", CS);
  printf("沒中獎(jiǎng)%d次\n", ZERO);
  printf("一等獎(jiǎng)%d次\n", ONE);
  printf("二等獎(jiǎng)%d次\n", TWO);
  printf("三等獎(jiǎng)%d次\n", THREE);
  printf("四等獎(jiǎng)%d次\n", FOUR);
  printf("五等獎(jiǎng)%d次\n", FIVE);
  printf("六等獎(jiǎng)%d次\n", SIX);
  int outmoney = CS * 2;
  int inmoney = SIX * 5 + FIVE * 10 + FOUR * 200 + THREE * 3000 + TWO * 341021 + ONE * 10000000;
  printf("共耗資%d元,中獎(jiǎng)%d元,虧損%d元\n", outmoney, inmoney, outmoney - inmoney);
  int ZJ = CS - ZERO;
  double ZJL = (ZJ*1.0) / CS * 100;
  printf("中獎(jiǎng)率為:%lf", ZJL);
  _getch();
  return 0;
}
void initBALL(RED *red, BLUE *blue)
{
  for (int i = 0; i < 33; i++)
  {
    red[i].IS_CHOSE = false;
    red[i].number = i + 1;
  }
  for (int i = 0; i < 16; i++)
  {
    blue[i].IS_CHOSE = false;
    blue[i].number = i + 1;
  }
  for (int i = 0; i < 6; i++)
  {
    while (true)
    {
      int NUM = rand() % 33 + 1;
      if (red[NUM - 1].IS_CHOSE)
      {
        continue;
      }
      else
      {
        red[NUM - 1].IS_CHOSE = true;
        red[NUM - 1].number = NUM;
        break;
      }
    }
  }
  int NUM = rand() % 16 + 1;
  blue[NUM - 1].IS_CHOSE = true;
  /*blue[NUM - 1].number=NUM;*/
}
 
void printfZJ(RED *red, BLUE *blue)
{
  printf("紅色球?yàn)閈n");
  for (int i = 0; i < 33; i++)
  {
    if (red[i].IS_CHOSE)
    {
      printf("%d\t", red[i].number);
    }
  }
  printf("\n");
  printf("藍(lán)色號(hào)為:\n");
  for (int i = 0; i < 16; i++)
  {
    if (blue[i].IS_CHOSE)
    {
      printf("%d\t\n", blue[i].number);
    }
  }
}
 
int printfZT(RED *red, BLUE *blue, RED *myred, BLUE *myblue)
{
  int rednumber = 0;
  int bluenumber = 0;
  for (int i = 0; i < 33; i++)
  {
    if (red[i].IS_CHOSE)
    {
      for (int j = 0; j < 33; j++)
      {
        if (myred[j].IS_CHOSE)
        {
          if (red[i].number == myred[j].number)
          {
            rednumber++;
            break;
          }
        }
      }
    }
  }
  for (int i = 0; i < 16; i++)
  {
    if (blue[i].IS_CHOSE)
    {
      for (int j = 0; j < 16; j++)
      {
        if (myblue[j].IS_CHOSE)
        {
          if (blue[i].number == myblue[j].number)
          {
            bluenumber++;
            break;
          }
        }
      }
      break;
    }
  }
  //printf("紅色中%d\t藍(lán)色中%d\n",rednumber,bluenumber);
  int DJ = 0;
  if (rednumber == 6 && bluenumber == 1)
  {
    DJ = 1;
  }
  if (rednumber == 6 && bluenumber == 0)
  {
    DJ = 2;
  }
  if (rednumber == 5 && bluenumber == 1)
  {
    DJ = 3;
  }
  if (rednumber == 5 && bluenumber == 0)
  {
    DJ = 4;
  }
  if (rednumber == 4 && bluenumber == 1)
  {
    DJ = 4;
  }
  if (rednumber == 4 && bluenumber == 0)
  {
    DJ = 5;
  }
  if (rednumber == 3 && bluenumber == 1)
  {
    DJ = 5;
  }
  if ((rednumber == 2 && bluenumber == 1) || (rednumber == 1 && bluenumber == 1) || (rednumber == 0 && bluenumber == 1))
  {
    DJ = 6;
  }
  return DJ;
}

到此這篇關(guān)于C語(yǔ)言實(shí)現(xiàn)計(jì)算雙色球的中獎(jiǎng)率的文章就介紹到這了,更多相關(guān)C語(yǔ)言計(jì)算雙色球中獎(jiǎng)率內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • C語(yǔ)言實(shí)現(xiàn)數(shù)字炸彈小游戲

    C語(yǔ)言實(shí)現(xiàn)數(shù)字炸彈小游戲

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)數(shù)字炸彈小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 利用C++的基本算法實(shí)現(xiàn)十個(gè)數(shù)排序

    利用C++的基本算法實(shí)現(xiàn)十個(gè)數(shù)排序

    以下是對(duì)利用C++的基本算法實(shí)現(xiàn)十個(gè)數(shù)排序的代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2013-10-10
  • C++模擬實(shí)現(xiàn)string類的實(shí)例代碼

    C++模擬實(shí)現(xiàn)string類的實(shí)例代碼

    這篇文章主要給大家介紹了C++如何模擬實(shí)現(xiàn)string類,文章通過(guò)代碼示例講解的非常詳細(xì),有完整的實(shí)現(xiàn)過(guò)程,具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-08-08
  • 淺談c/c++中使用指針需要注意的問(wèn)題

    淺談c/c++中使用指針需要注意的問(wèn)題

    下面小編就為大家?guī)?lái)一篇淺談c/c++中使用指針需要注意的問(wèn)題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • 常用排序算法整理分享(快速排序算法、希爾排序)

    常用排序算法整理分享(快速排序算法、希爾排序)

    這篇文章主要介紹了一些常用排序算法整理,插入排序算法、直接插入排序、希爾排序、選擇排序、冒泡排序等排序,需要的朋友可以參考下
    2014-03-03
  • C語(yǔ)言實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(多文件)

    C語(yǔ)言實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(多文件)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • C語(yǔ)言超詳細(xì)講解棧的實(shí)現(xiàn)及代碼

    C語(yǔ)言超詳細(xì)講解棧的實(shí)現(xiàn)及代碼

    棧(stack)又名堆棧,它是一種運(yùn)算受限的線性表。限定僅在表尾進(jìn)行插入和刪除操作的線性表。這一端被稱為棧頂,相對(duì)地,把另一端稱為棧底。向一個(gè)棧插入新元素又稱作進(jìn)棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素
    2022-04-04
  • C++中頭文件的概念與基本編寫方法

    C++中頭文件的概念與基本編寫方法

    這篇文章主要介紹了C++中頭文件的概念與基本編寫方法,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-12-12
  • C語(yǔ)言順序查找算法介紹及示例

    C語(yǔ)言順序查找算法介紹及示例

    順序查找又稱線性查找,主要用于在線性表中進(jìn)行查找。順序查找通常分為對(duì)一般的無(wú)序線性表的順序查找和對(duì)按關(guān)鍵字有序的順序表的順序查找,下面我們來(lái)一探究竟
    2022-08-08
  • VC++操作SQLite簡(jiǎn)單實(shí)例

    VC++操作SQLite簡(jiǎn)單實(shí)例

    這篇文章主要介紹了VC++操作SQLite,很實(shí)用的功能,需要的朋友可以參考下
    2014-07-07

最新評(píng)論

正宁县| 七台河市| 弥渡县| 正蓝旗| 济南市| 迁安市| 广南县| 五原县| 周宁县| 中江县| 商洛市| 右玉县| 普陀区| 丰县| 阳东县| 申扎县| 吴川市| 桑植县| 庆云县| 广昌县| 泰顺县| 武汉市| 进贤县| 涿州市| 杭锦旗| 大名县| 正安县| 利川市| 沙洋县| 太仆寺旗| 宝清县| 冀州市| 区。| 周口市| 文成县| 布拖县| 柳州市| 鸡西市| 林口县| 镇沅| 麻城市|