C语言经典算法100例-022-乒乓球比赛名单问题
2014-03-03 21:41
671 查看
我们来看题:
两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
1.分析,如果没有任何规矩可言,那么a可以跟x,y,z中的任何一个比,而b,c同样是,但是规矩是有的,那就是a,b,c不能和相同的对手比赛。所以,方法就是,三层循环,然后用条件语句层层筛选,打印出来满足需求的匹配。
2.源程序:
刚开始看到这个题,我想得很复杂也没想到好的办法,后来看了答案才豁然开朗,只需要3个变量就可以了,因为a,b,c的位置是确定的,而且x,y,z可以转化为对应的整数,直接放到循环里就可以了。脑子好迟钝,学如逆水行舟,不进则退啊。
两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
1.分析,如果没有任何规矩可言,那么a可以跟x,y,z中的任何一个比,而b,c同样是,但是规矩是有的,那就是a,b,c不能和相同的对手比赛。所以,方法就是,三层循环,然后用条件语句层层筛选,打印出来满足需求的匹配。
2.源程序:
#include <stdio.h> #include <stdlib.h> int main() { int i,j,k; //i,j,k分别对应a,b,c的对手 for(i='x';i<='z';i++) for(j='x';j<='z';j++) if(j!=i) for(k='x';k<'z';k++) if(k!=i&&k!=j) if(i!='x'&&k!='x'&&k!='z') printf("a-%c b-%c c-%c",i,j,k); return 0; }
刚开始看到这个题,我想得很复杂也没想到好的办法,后来看了答案才豁然开朗,只需要3个变量就可以了,因为a,b,c的位置是确定的,而且x,y,z可以转化为对应的整数,直接放到循环里就可以了。脑子好迟钝,学如逆水行舟,不进则退啊。
相关文章推荐
- C语言——实例022 乒乓球比赛名单
- C语言经典算法100例-021-猴子吃桃问题
- 29-乒乓球比赛对战名单分析
- Java两个乒乓球队比赛名单问题(判断素数)
- 乒乓球比赛 两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比 请编程序找出三队赛手的名单。
- 面向对象方式解决比赛名单类问题(Java实现)
- 用c++编一个3对乒乓球比赛名单的程序
- C语言经典算法100例-020-小球自由下落问题
- C语言经典算法100例-069-简单约瑟夫环问题
- 口袋中球的取出顺序问题,比赛名单问题
- C语言经典算法100例-011-兔子问题
- 分治法解乒乓球比赛日程安排问题
- 两个乒乓球队进行比赛,各出三人。甲队为A、B、C 3人,乙队为X、Y、Z 3人。已抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比,C说他不和X、Y比,请编程序找出3三队选手的对阵名单
- Selenium2学习-024-WebUI自动化实战实例-022-网站不同分辨率下页面样式展示兼容性问题解决方案 -- 设置浏览器显示区域大小(无人值守,节约测试成本的福音,BOSS 最爱)
- 没有计时器的比赛问题
- HDU NO.1285 确定比赛名次(拓扑排序+“字典序”问题)
- 比赛计分问题
- C语言经典算法100例-032~35
- 2018年全国多校算法寒假训练营练习比赛(第五场)C 字符串的问题
- 南邮-1950-比赛现场气氛营造问题