我们来看题:

两个乒乓球队进行比赛,各出三人。甲队为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可以转化为对应的整数,直接放到循环里就可以了。脑子好迟钝,学如逆水行舟,不进则退啊。

   

转载于:https://www.cnblogs.com/mrbourne/p/9959502.html

C语言经典算法100例-022-乒乓球比赛名单问题相关推荐

  1. c语言经典算法大全pdf,c语言经典算法100例pdf版.pdf

    c语言经典算法100例pdf版 C 语言经典算法 100 例 C 语言编程经典 100 例 A:[程序1] 题目:有1.2.3.4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程 ...

  2. C语言经典算法100例

    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔 子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数 为多少? _______________________ ...

  3. C语言经典算法100例(一)

    C语言中有有许多经典的算法,这些算法都是许多人的智慧结晶,也是编程中常用的算法,这里面包含了众多算法思想,掌握这些算法,对于学习更高级的.更难的算法都会有很大的帮助,会为自己的算法学习打下坚实的基础. ...

  4. C语言经典算法100例(二)

    11.判断某一年是否是闰年. //判断某一年份是否是闰年 int IsLeapYear(int year) {return (year % 400 == 0 || (year % 4 == 0) &a ...

  5. C语言经典算法100例-002-数轴的使用

    题目如下: 企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10%:利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提 成7.5%:20万 ...

  6. C语言经典算法100例-结束语

    今天看了以下后面的题,并不怎么好,因为我们主要是学C++,而练习这些题的主要目的是帮我们复习编程的基本技巧,而基本技巧编到这里已经差不多了,至于算法,还是去看算法导论和编程珠玑,指针深层的东西,可以去 ...

  7. C语言经典算法100例-037-给10个数排序

    使用简单选择排序法给10个数排序,思路如下: 将最小的元素找出并放到序列的最前面,在剩下的元素中继续找出最小的元素放在第二个位置上,以此类推,每次选出一个元素,即可确定其再有序序列中的最终位置. #i ...

  8. C语言经典算法100例-031-判断星期几

    题目如下: 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母. 比较简单,直接看程序吧. #include <stdio.h> #include < ...

  9. C语言经典算法100道实战题

    [C语言经典算法100道实战题]适合具备C语言基础语法的同学学习,提高编写程序的逻辑思维能力和算法设计能力专门精心设计.100个经典的算法供大家练习及配套对应的录播视频.为我们今后学习其它的编程语言和 ...

最新文章

  1. 视频直播软件开发过程中需要解决的“老朋友”...
  2. hdu 3629 Convex
  3. 递归算法之排列组合-求一个集合S的m个元素的组合和所有可能的组合情况
  4. 如何快速定位程序Core?
  5. 计划Java EE 7批处理作业
  6. 浅谈JavaScript中forEach与each
  7. Intel Sandy Bridge/Ivy Bridge架构/微架构/流水线 (19) - 系统代理
  8. Android 系统(167)----Glide加载圆角图片的方法
  9. 直方图均衡化计算过程步骤
  10. linux g++开启C++11/14支持
  11. spring思想分析
  12. Nacos服务注册发现
  13. 在线浏览 Stata 15 PDF 全套电子手册
  14. ios 高德地图加载瓦片地图_iOS 利用高德地图WMS服务
  15. Ubuntu18.04安装cmake(附免费下载cmake)。
  16. 《惢客创业日记》2019.05.18(周六)视频通话后的一个创意
  17. 8本好书上新:越忙越要多读书
  18. java 设计模式之: 建造模式(Builder)
  19. 传入和传出电子邮件服务器,直接归档传入和传出的电子邮件【MDaemon篇】
  20. 巴西龟饲养日志----养龟第二年开始

热门文章

  1. 谈谈iOS中粘性动画以及果冻效果的实现
  2. 零基础学Python(第四章 变量类型)
  3. Mac 解决brew一直卡在Updating Homebrew
  4. ORACLE 临时表空间使用率过高的原因及临时解决方案
  5. ERROR OGG-01163 Bad column length (30) specified for column name in table TEST.demo_src, maximum all
  6. Linux学习笔记04
  7. 牛客网——今年的第几天
  8. Hive安装MySql
  9. java 保护内存操作的方法
  10. iOS开发蓝牙 蓝牙4.0的各种踩过的坑,希望你们少踩点