口袋中球的取出顺序问题,比赛名单问题

对于以下这两种问题是离散数学与概论在编程中的应用:

两个乒乓球队进行比赛,各队人。甲队为A,B,C     乙队为 X,Y,Z    抽签决定比赛名单。有人向队员打听比赛名单,A说他不和X比,C说他不和X,Z比,请编程序找出3组比赛名单

#include<stdio.h>

void Game_list()
{
	char i,j,k; /*i是a的对手;j是b的对手;k是c的对手*/
	for (i='x';i<='z';i++)
		for (j='x';j<='z';j++)
			if (i!=j)
				for (k='x';k<='z';k++)
					if (i!=k && j!=k)
						if (i!='x' && k!='x' && k!='z')
							printf("A--%c\nB--%c\nC--%c\n",i,j,k);
}
int main()
{

	Game_list();

	return 0;
}

口袋中有红、黄、蓝、白、黑5种颜色的球若干个。每次从口袋中任意取出3个球,问得到3种不同颜色的球的可能取法,输出每种排列的情况。

#include <iostream>
#include <iomanip>//在输出时要用到setw控制符
using namespace std;
int main( )
{
	enum color {red,yellow,blue,white,black};//声明枚举类型color
	color pri;//定义color类型的变量pri
	int i,j,k,n=0,loop;//n是累计不同颜色的组合数
	for (i=red;i<=black;i++)//当i为某一颜色时
		for (j=red;j<=black;j++)//当j为某一颜色时
			if (i!=j)//若前两个球的颜色不同
			{
				for (k=red;k<=black;k++)//只有前两个球的颜色不同,才需要检查第3个球的颜色

					if ((k!=i) && (k!=j))//3个球的颜色都不同
					{
						n=n+1;//使累计值n加1
						cout<<setw(3)<<n;//输出当前的n值,字段宽度为3
						for (loop=1;loop<=3;loop++)//先后对3个球作处理
						{
							switch (loop)//loop的值先后为1,2,3
							{
							case 1: pri=color(i);break ;//color(i)是强制类型转换,使pri的值为i
							case 2: pri=color(j);break ;//使pri的值为j
							case 3: pri=color(k);break ;//使pri的值为k
							default :break ;
							}
							switch (pri)//判断pri的值,输出相应的“颜色”
							{
							case red: cout<<setw(8)<<"red"; break;
							case yellow: cout<<setw(8)<<"yellow";break;
							case blue:cout<<setw(8)<<"blue"; break ;
							case white:cout<<setw(8)<<"white"; break ;
							case black:cout<<setw(8)<<"black"; break ;
							default : break ;
							}
						}
						cout<<endl;
					}
			}
			cout<<"total:"<<n<<endl;//输出符合条件的组合的个数
			return 0;
}
时间: 2024-10-12 17:18:33

口袋中球的取出顺序问题,比赛名单问题的相关文章

口袋摸球

口袋中有红.黄.蓝.白.黑5种颜色的球若干个.每次从口袋中任意取出3个球,问得到3种不同颜色的球的可能取法,输出每种排列的情况. 输入 无 输出 输出每种排列的情况. 样例输入 样例输出 1       red     yellow  blue 2       red     yellow  white 3       red     yellow  black ...... 60      black   white   blue 提示 输出时, 符号串之间用跳格键隔开. 1 #include

【转】Unity3D中脚本的执行顺序和编译顺序(vs工程引用关系)

http://www.cnblogs.com/champ/p/execorder.html 在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行.与脚本有关的也就是编译和执行啦,本文就来研究一下Unity中脚本的编译和执行顺序的问题. 事件函数的执行顺序 先说一下执行顺序吧. 官方给出的脚本中事件函数的执行顺序如下图:  我们可以做一个小实验来测试一下: 在Hierarchy视图中创建三个游戏对象,在Project视图中创建三条脚本,如下图所示

(转)Unity3D中脚本的执行顺序和编译顺序(vs工程引用关系)

自:http://www.cnblogs.com/champ/p/execorder.html 在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行.与脚本有关的也就是编译和执行啦,本文就来研究一下Unity中脚本的编译和执行顺序的问题. 事件函数的执行顺序 先说一下执行顺序吧. 官方给出的脚本中事件函数的执行顺序如下图:  我们可以做一个小实验来测试一下: 在Hierarchy视图中创建三个游戏对象,在Project视图中创建三条脚本,如下图

将字符串中的每个单词顺序进行颠倒,单词还是原来的单词,字母顺序不发生变化

/*测试数据:Shen zhen is a beautiful city!*/ /*运行结果:city! beautiful a is zhen Shen*/ #include<stdio.h> #define SIZE 1000 void reverse(char *low,char *high)/*接受两个指针,将指针中间的内容倒置*/ { while (low < high){ *low = *low^*high; *high = *low^*high; *low = *low^*

继承中代码的执行顺序

在继承中代码的执行顺序为:1.父类静态对象和静态代码块   2.子类静态对象和静态代码块 3.父类非静态对象和非静态代码块  4.父类构造函数 5.子类非静态对象和非静态代码块  6.子类构造函数 1.对于本题来说:在只想new Sub(5)的时候,父类先初始化了 int flag = 1,然后执行父类的构造函数Super(),父类构造函数中执行的test()方法,因子类是重写了test()方法的,因此父类构造函数中的test()方法实际执行的是子类的test()方法,所以输出为Sub.test

jquery的AJAX中各个事件执行顺序

jquery的AJAX中各个事件执行顺序如下: 1.ajaxStart(全局事件) 2.beforeSend 3.ajaxSend(全局事件) 4.success 5.ajaxSuccess(全局事件) 6.error 7.ajaxError (全局事件) 8.complete 9.ajaxComplete(全局事件) 10.ajaxStop(全局事件)

从一个数组中随机的取出若干个不同的数

/* * 此程序是从一个不重复的数组中随机的取出若干个不同的元素 * 难点是防止在取数的时候出现已经取到过的情况(特别是取到最后),需要尽可能的降低碰撞 */ //第一种算法,CSDN上别人的想法 /* $num = 0; $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9); $arr = array(); $g = 5; $tag = true; while ($tag) { $count = count($array); $t = rand(0, 1); if

javascript在html中的加载顺序

参考:[1]http://coolshell.cn/articles/9749.html(酷壳) [2]http://shaozhuqing.com/?p=2756 颜色标注分别来自于链接地址内容 通常来说,浏览器对于Javascript的运行有两大特性:1)载入后马上执行,2)执行时会阻塞页面后续的内容(包括页面的渲染.其它资源的下载).于是,如果有多个js文件被引入,那么对于浏览器来说,这些js文件被被串行地载入,并依次执行. 因为javascript可能会来操作HTML文档的DOM树,所以

[转载]Java中异常的捕获顺序(多个catch)

http://blog.sina.com.cn/s/blog_6b022bc60101cdbv.html [转载]Java中异常的捕获顺序(多个catch) (2012-11-05 09:47:28) 转载▼ 标签: 转载 分类: 转载 原文地址:Java中异常的捕获顺序(多个catch)作者:leesa Java代码 import java.io.IOException; public class ExceptionTryCatchTest { public void doSomething(