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

📄 ep2_15.cpp

📁 这里有大量的c语言习题呢!真的是题海哦
💻 CPP
字号:
/*2.15 两队选手每队5人进行一对一的比赛,甲队为A、B、C、D、E,乙队为J、K、L、M、N,
经过抽签决定比赛对手名单。规定A不和J比赛,M不和D及E比赛。列出所有可能的比赛名单。
提示:先固定甲队,A在0号位,B在1号位,依次排列,最后E在4号位;然后乙队排对应的对手,
用循环变量j、k、l、m、n分别对应0号位的选择、1号位的选择、依次类推,直到到4号位的选
择,每一层循环应剔除上一轮已选过的选手,和指定不与比赛的对手。用变量i统计不同情况数。*/

#include<iostream>
using namespace std;

int main(){
	char st1[5]={'A','B','C','D','E'},st2[5]={'J','K','L','M','N'};
	int i=0,j,k,l,m,n;
	
	for(j=0;j<5;j++){//0号位
		if(j==0) continue;//A选手不与选手J比赛,即st1[0]不与st2[0]比赛		
		for(k=0;k<5;k++){//1号位
			if(k==j) continue;//剔除乙队占据0号位的选手
			for(l=0;l<5;l++){//2号位
				if(l==j||l==k) continue;//剔除乙队占据0、1号位的选手
				for(m=0;m<5;m++){//3号位
					if(m==j||m==k||m==l) continue;//剔除乙队占据0、1、2号位的选手
					if(m==3) continue;//st1[3]不与st2[3]比赛,即D不与M比赛
					for(n=0;n<5;n++){//4号位
						if(n==j||n==k||n==l||n==m) continue;//剔除乙队占据0、1、2、3号位的选手
						if(n==3) continue;//st1[4]不与st2[3]比赛,即E不与M比赛
						cout<<st1[0]<<'-'<<st2[j]<<'\t'<<st1[1]<<'-'<<st2[k]<<'\t';
						cout<<st1[2]<<'-'<<st2[l]<<'\t'<<st1[3]<<'-'<<st2[m]<<'\t';
						cout<<st1[4]<<'-'<<st2[n]<<endl;
						i++;
					}
				}
			}
		}
	}
	cout<<i<<endl;
	return 0;
}	

⌨️ 快捷键说明

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