⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cpp1.cpp

📁 一个简单的算法,本源代码给出了16只队伍,进行双循环的赛程编排
💻 CPP
字号:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <iostream>
#include <string>
using namespace std;

void main( void )
{
	int i,j,k,l,num[16];
	string team[16];
	team[0]="AC米兰";
	team[1]="国际米兰";
	team[2]="尤文图斯";
	team[3]="罗马";
	team[4]="拉奇奥";
	team[5]="帕尔马";
	team[6]="佛罗伦萨";
	team[7]="皇家马德里";
	team[8]="巴塞罗那";
	team[9]="瓦伦西亚";
	team[10]="拉科鲁尼亚";
	team[11]="曼联";
	team[12]="阿森那";
	team[13]="切尔西";
	team[14]="拜仁慕尼黑";
	team[15]="多特蒙德";
	srand( (unsigned)time( NULL ) );//产生时间随机种子
flags:
	num[0]=rand() % 100;
	j=rand() % 100;
	if(j%2==0)                      //间隔数不能为偶数
		j=j+1;
	if(num[0]>15 || j==0 || j>16)    //如果超出范围,则从新产生j
		goto flags;
	for(i=1;i<16;i++)                //使对应的数组相邻元素值间隔为j
	{
		num[i]=num[i-1]+j;
		if(num[i]>16)
			num[i]=num[i]-16;
		else if(num[i]==16)
			num[i]=0;
	}
	printf("   随机相隔球队数:%d\n",j);
	printf("   第一个球队对应的编号:%d\n",num[0]);


	printf("\n");

	for(i=0;i<16;i++)
	{
		cout<<"     "<<num[i]<<"   "<<team[num[i]]<<endl;
	}
	printf("\n");
	//输出赛程
	printf("第1轮:\n");

	for(i=0;i<8;i++)
	{
		cout<<"     "<<team[num[i]]<<"  VS  "<<team[num[15-i]]<<endl;
	}
	for(l=2;l<31;l++)
	{
		printf("第%d轮:\n",l);
		k=num[15];
		for(i=15;i>1;i--)
		{
			num[i]=num[i-1];
		}
		num[1]=k;
		for(i=0;i<8;i++)
		{
			if(l%2!=0)
				cout<<"     "<<team[num[i]]<<"  VS  "<<team[num[15-i]]<<endl;
			else
				cout<<"     "<<team[num[15-i]]<<"  VS  "<<team[num[i]]<<endl;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -