c++大樂透出現次數

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

void numerals();

void main()

{

int n,i=0;

printf("請問要產生幾組樂透:");

scanf("%d",&n);

srand((unsigned)time(NULL));

while(i<n)

{

numerals();

i++;

}

system("pause");

}

void numerals()

{

int c[6],w1=0,f1,f2;

while(w1==0)

{

w1=1;

for

(

f1=0;f1<6;f1++)

c[f1]=rand()%42+1;

for

(

f1=0;f1<5;f1++

)

for

(

f2=f1+1;f2<6;f2++

)

if(

c[f1]==c[f2]

)

w1=0;

}

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

printf("%d ",c[f1]);

printf("\n");

}

這是我網抓的大樂透程式

我想加入一個出現次數

例如:打2組號碼

6...10...13...21...33...40

6...7...21...38...41...42

1: 0次

2 : 0次

.

.

.

6: 2次

7:1次

.

.

13: 1次

.

.

.

以此推類...

1 個解答

評分
  • 大雄
    Lv 4
    1 0 年前
    最佳解答

    #include <stdio.h>

    #include <stdlib.h>

    #include <time.h>

    void numerals();

    int c[6];

    void main()

    {

    int n,i=0;

    int k,z;

    int a[42]={0};

    printf("請問要產生幾組樂透:");

    scanf("%d",&n);

    srand((unsigned)time(NULL));

    while(i<n)

    {

    numerals();

    i++;

    for(z=0;z<=41;z++)

    {

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

    {

    if(c[k]==z+1)

    {a[z]=a[z]+1;}

    else

    {}

    }

    }

    }

    for(z=0;z<=41;z++)

    {printf("%3d,%3d 次\n",z+1,a[z]);}

    system("pause");

    }

    void numerals()

    {

    int w1=0,f1,f2;

    while(w1==0)

    {

    w1=1;

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

    c[f1]=rand()%42+1;

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

    for(f2=f1+1;f2<6;f2++)

    if(c[f1]==c[f2])

    w1=0;

    }

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

    printf("%d ",c[f1]);

    printf("\n");

    }

    這應該是你要的吧

    參考資料: me
還有問題?馬上發問,尋求解答。