C语言复习---比赛问题
一:比赛问题
两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h> int main()
{
char a, b, c; //我方a,b,c三人 for (a = 'x'; a <= 'z'; a++) //选手a的可选对手
for (b = 'x'; b <= 'z';b++) //选手b的可选对手
{
if (b!=a) //两个选手的对手不能一样
{
for (c = 'x'; c <= 'z';c++) //选手c的可选对手
{
if (c!=a&&c!=b) //对手不能和ab选手的对手一样
{
//开始对条件进行筛选,按照题意进行筛选
if (a != 'x'&&c != 'z'&&c != 'x')
printf("a vs %c\nb vs %c\nc vs %c\n", a, b, c);
}
}
}
}
system("pause");
return ;
}
除了最后的if语句是用于判断题意中的:a说他不和x比,c说他不和x,z比
上面的for和if会将所有可能的对手赋给选手,只是保证了三个选手的对手不一致,我们只需要在最后进行整体筛选即可
二:颜色组合问题
口袋中有红、黄、蓝、白、黑五种颜色的球若干,每次从口袋中取出3个球。问得到三种不同颜色的球可以选取的方法,打印出三种颜色的各种组合
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h> enum Color
{
red,yellow,blue,white,black
}; int main()
{
enum Color i, j, k, cur;
int n, loop;
for (i = red; i <= black;i++)
{
for (j = red; j <= black;j++)
{
if (j!=i)
{
for (k = red; k <= black;k++)
{
if (k!=i&&k!=j)
{
//找到所有的不同颜色组合
//循环3次,取出所有颜色
for (loop = ; loop <= ;loop++)
{
//每次获取一个颜色
switch (loop)
{
case :
cur = i;
break;
case :
cur = j;
break;
case :
cur = k;
break;
} //将对应颜色打印出来
switch (cur)
{
case red:
printf("%-10s", "red");
break;
case yellow:
printf("%-10s", "yellow");
break;
case blue:
printf("%-10s", "blue");
break;
case white:
printf("%-10s", "white");
break;
case black:
printf("%-10s", "black");
break;
default:
break;
}
}
printf("\n");
}
}
}
}
} system("pause");
return ;
}

C语言复习---比赛问题的更多相关文章
- C语言复习---零散补充
一:double和float使用scanf获取数据 printf输出float和double都可以用%f,double还可以用%lf. 2 scanf输入float用%f,double输入用%lf,不 ...
- C语言复习20170728
C语言复习20170728 键盘输入和屏幕输出 字符常量:把字符放在一对单引号内,适用于多数可打印字符. 转义字符: 以反斜线()开头,也是放在一对单引号内,适用于控制字符. .\t,是水平制表符,相 ...
- C语言复习20170716
C语言复习20170716 C数据类型 图片来自:C语言基本数据类型简介 C语言程序处理的数据有常量和变量两种形式. 常量是在程序中不能改变其值的量.例如:整型常量.实型常量.字符常量.字符串常量和枚 ...
- C语言复习-字符串与指针
C语言复习-字符串与指针 例一: [字符串处理 去除C代码中的注释] C/C++代码中有两种注释,/* */和//.编译器编译预处理时会先移除注释.就是把/*和*/之间的部分去掉,把//以及之后的部分 ...
- C语言复习系列-转义字符
C语言复习系列-转义字符 准备学习stm32单片机,感觉需要复习一下C语言,翻看了菜鸟教程,竟然有不少地方看不懂,真让人汗颜······ 转义字符大部分语言里面都有,至少我学过的里面都有,在这些语言中 ...
- C语言复习2_运算符
今天复习一下C语言的运算符 1.赋值运算符 单等号 = 顺序是:从右往左 2.复合运算符 #include <stdio.h> #include <stdlib.h> int ...
- C语言 · 复习杂记
/*=================================*/ /* 基础部分 */ /*=================================*/一:.CPP--C++文件: ...
- C语言复习(1)
test.c #include <stdio.h> int main(){ printf("hello\n"); return 0; } 1.预处理阶段 由于在test ...
- C语言复习笔记-17种小算法-解决实际问题
判断日期为一年中的第几天(考虑闰年) 1 /* 2 * 计算该日在本年中是第几天,注意闰年问题 3 * 以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天 4 * 特殊情况,闰年且 ...
随机推荐
- 如何安装ipa文件(二)
第一篇文章请看: http://www.cnblogs.com/BK-12345/p/6000124.html 写第二篇的目的是因为iTunes更新了,有一些东西发生了变化,应用没有了,其实还是存在的 ...
- Altium CAED 国际认证操作题例题(含下载)
官网介绍页面 https://www.altium.com.cn/certification 共五套操作题 含资料 蓝奏云:https://www.lanzous.com/i2lj1ng 百度网盘:h ...
- React笔记-事件分发
事件分发 之前讲述了事件如何绑定在document上,那么具体事件触发的时候是如何分发到具体的监听者呢?我们接着上次注册的事件代理看.当我点击update counter按钮时,触发注册的click事 ...
- Go实现Pow工作量证明
之前使用python编写了一段代码实现了工作量证明机制,近期由于参与以太坊智能合约开发钱包的工作接触到golang语言,所以借此以go来实现Pow(Proof of work). 实现代码如下: // ...
- PAT甲题题解-1106. Lowest Price in Supply Chain (25)-(dfs计算树的最小层数)
统计树的最小层数以及位于该层数上的叶子节点个数即可. 代码里建树我用了邻接链表的存储方式——链式前向星,不了解的可以参考,非常好用: http://www.cnblogs.com/chenxiwenr ...
- CSAPP lab2 二进制拆弹 binary bombs phase_5
给出对应于7个阶段的7篇博客 phase_1 https://www.cnblogs.com/wkfvawl/p/10632044.htmlphase_2 https://www.cnblogs. ...
- Android的环境搭建
尽管以前并没有接触过软件开发.但是,现在网络资源实在是太丰富了.所以网搜了一下,认为Android的环境搭建可分为以下五个步骤来完成.第一步:安装JDK:第二步:配置Windows上JDK的变量环境: ...
- DirectoryEntry_Properties属性的遍历(win2008)
DirectoryEntry root = new DirectoryEntry(@"IIS://localhost/W3SVC"); string PInfo = "& ...
- Alpha 冲刺五
团队成员 051601135 岳冠宇 051604103 陈思孝 031602629 刘意晗 031602248 郑智文 031602234 王淇 会议照片 项目燃尽图 项目进展 暂无实质性进展. 项 ...
- Docker(二十三)-Docker使用pipework配置本地网络
需求 在使用Docker的过程中,有时候我们会有将Docker容器配置到和主机同一网段的需求.要实现这个需求,我们只要将Docker容器和主机的网卡桥接起来,再给Docker容器配上IP就可以了. 下 ...