用c语言编写一个篮球比赛抽签分组系统

用c语言编写一个篮球比赛抽签分组系统,第1张

这程序会输出1-32的随机数,将32个队编号。每8个一组。

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

main()

{

int a[32]

int b[32]

int i,index,x=0

for(i=0i<32i++)

a[i]=i+1

srand((unsigned)time(0))

for(i=0i<32)

{

index=rand()%32

if(a[index]!=0)

{

b[i]=a[index]

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

a[index]=0

++i

}

}

}

#include<iostream>

#include <deque>

#include <vector>

#include <stdlib.h>

using namespace std

#define TeamCount 4

#define NumberCount 8

void RandGroup(deque<int>& deqSrc, vector<vector<int>>& rVecDec)

{

srand(time(NULL))

int nSrcSize = deqSrc.size()

vector<int> vecSample

for (int i = 0 i < nSrcSize i++)

{

// 取队员

int nPlayer = deqSrc.front()

deqSrc.pop_front()

vecSample.clear()

// 获取不满NumberCount的队伍集合

for (int j = 0 j < TeamCount j++)

{

if (rVecDec[j].size() < NumberCount)

vecSample.push_back(j)

}

// 获取该队员的随机队列编号

int nTmp = rand()

nTmp = rand() % (vecSample.size())

rVecDec[vecSample[nTmp]].push_back(nPlayer)

}

}

int main()

{

// 生成32个队员

deque<int> deq

for (int i = 0 i < TeamCount * NumberCount i++)

{

int nPlayer = 0

cin >> nPlayer

deq.push_back(nPlayer)

}

// 随机分组

vector<vector<int>> vecRes

for (int i = 0 i < TeamCount i++)

{

vector<int> vecTmp

vecRes.push_back(vecTmp)

}

RandGroup(deq, vecRes)

return 0

}

朋友,请【采纳答案】,您的采纳是我答题的动力,如果没有明白,请追问。谢谢。


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

原文地址:https://54852.com/yw/12027697.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存