区分旅客国籍.....
/*问题描述:在一个旅馆中住着六个不同国籍的人,他们分别来自美国、德国、英国、法国、俄罗斯和意大利。他们的名字叫A、B、C、D、E和F。名字的顺序与上面的国籍不一定是相互对应的。现在已知:
1)A美国人是医生。
2)E和俄罗斯人是技师。
3)C和德国人是技师。
4)B和F曾经当过兵,而德国人从未参过军。
5)法国人比A年龄大;意大利人比C年龄大。
6)B同美国人下周要去西安旅行,而C同法国人下周要去杭州度假。
试问由上述已知条件,A、B、C、D、E和F各是哪国人?
*/
- #include<iostream>
- using namespace std;
- int Nation[6];//A--F的国籍,0--5分别代表美国---意大利
- int count=0;//记录有多少种情况
- int main(){
- void Passenger(int num);
- Passenger(0);
- cout<<count<<endl;
- return 0;
- }
- void Passenger(int num){
- if(num==6){
- bool temp;
- for(int j=0;j<=5;j++){
- temp=false;
- for(int k=j+1;k<=5;k++){
- if(Nation[j]==Nation[k]){
- temp++;
- break;
- }
- }
- if(temp)break;
- }
- if(temp)return;/*先确保不同国籍*/
- else{
- if(Nation[0]!=0 && Nation[4]!=4 && Nation[2]!=1 /*代表已知条件1,2,3*/
- && Nation[1]!=1 && Nation[5]!=1/*条件4*/
- && Nation[0]!=3 && Nation[2]!=5 /*条件5*/
- && Nation[1]!=0 && Nation[2]!=3 /*条件6*/
- && Nation[2]!=0 ){
- count++;
- cout<<"A,B,C,D,E,F可能国籍分别为:"<<endl;
- for(int k=0;k<=5;k++){
- cout<<char('A'+k)<<"是";
- switch(Nation[k]){
- case 0:cout<<"美国人"<<endl;break;
- case 1:cout<<"德国人"<<endl;break;
- case 2:cout<<"英国人"<<endl;break;
- case 3:cout<<"法国人"<<endl;break;
- case 4:cout<<"俄罗斯人"<<endl;break;
- case 5:cout<<"意大利人"<<endl;break;
- default:break;
- }
- }
- }
- }
- return;
- }
- else{
- for(int i=0;i<=5;i++){
- Nation[num]=i;
- num++;
- Passenger(num);
- num--;
- }
- }
- }
区分旅客国籍.....相关推荐
- C语言实例 区分旅客国籍
他们的名字叫A.B.C.D.E和F. 如今已知: 1)A美国人是医生. 2)E和俄罗斯人是技师. 3)C和德国人是技师. 5)法国人比A年龄大;意大利人比C年龄大. 试问由上述已知条件, A.B.C. ...
- 100个经典C语言程序(益智类)
100个经典C语言程序(益智类) [1.绘制余弦曲线] 在屏幕上用"*"显示0~360度的余弦函数cos(x)曲线 [问题分析与算法设计] 利用cos(x)的左右对称性,将屏幕的行 ...
- c/c++ 趣味程序百例
C/c++趣味程序百例(献给C/C++初学者) C/c++趣味程序百例(献给C/C++初学者) 1.绘制余弦曲线 2.绘制余弦曲线和直线 3.绘制圆 4.歌星大奖赛 5.求最大数 6.高次方数的尾数 ...
- C/C++趣味编程经典100例详解
更新记录 2019-08-27 28题 重写 C/C++语言经典.实用.趣味程序设计编程百例精解 1.绘制余弦曲线 在屏幕上用"*"显示0~360度的余弦函数cos(x ...
- C语言趣味程序设计编程百例精解
C/C++语言经典.实用.趣味程序设计编程百例精解(1) 1.绘制余弦曲线 在屏幕上用"*"显示0~360度的余弦函数cos(x)曲线 *问题分析与算法设计 如果在程序中使用数组 ...
- C/C++趣味程序百例
1.绘制余弦曲线 2.绘制余弦曲线和直线 3.绘制圆 4.歌星大奖赛 5.求最大数 6.高次方数的尾数 7.阶乘尾数零的个数 8.借书方案知多少 9.杨辉三角形 10.数制转换 ...
- 《高级语言程序设计》习题集
<高级语言程序设计>习题集 (本资料仅供学生学习使用) 求最大数 借书方案知多少 杨辉三角形 数制转换 打鱼还是晒网 该存多少钱 怎样存钱利最大 出售金鱼 平分七筐鱼 有限5位数 8 除不 ...
- c/c++一百道小程序
1.绘制余弦曲线 2.绘制余弦曲线和直线 3.绘制圆 4.歌星大奖赛 5.求最大数 6.高次方数的尾数 7.阶乘尾数零的个数 8.借书方案知多少 9.杨辉三角形 10.数制转换 ...
- 200个经典C语言程序
1.绘制余弦曲线 在屏幕上用"*"显示0~360度的余弦函数cos(x)曲线 *问题分析与算法设计 如果在程序中使用数组,这个问题十分简单.但若规定不能使用数组,问 ...
最新文章
- 好奇怪呀后面加什么标点_加标点
- openCV滑动条TrackBar事件实例
- Promise-Polyfill源码解析(2)
- 8位二进制补码表示整数的最小值是什么,最大值是什么
- DXUT框架剖析(3)
- 零基础学python书籍-图书推荐:《零基础学Python(全彩版)》
- 博文视点大咖直播伴你读No.4:用户增长、产品思维和产品的变化
- cad如何生成kml文件_如何制作KML文件?
- 使用 ffmpeg 进行视频(ts)合并
- SIFT算法应用:全景图像拼接
- mysql minus 语句用法,mysql如何用minus运算符?
- Bundle adjustment
- 基于RK3399PRO的蜂鸣器驱动移植文档
- 宝兰德BES安装及Springboot项目打包部署及websocket解决方案
- 理解计算 从根号2到AlphaGo 第3季神经网络的数学模型
- 微信小程序注册相关资料
- 灰色关联分析的简单介绍以及使用
- 下一代微服务!Service Mesh 2018年度总结
- linux博通2070蓝牙驱动,Broadcom博通BCM 2070/20702系列蓝牙设备驱动怎么样
- 半径为2.11的圆球的体积python_python习题
热门文章
- Android画面显示流程分析(1)
- matlab之Signal Labeled APP
- 视频录像软件使用方法!
- 在 Google Chrome 中,如何修复 Shockwave Flash 崩溃
- step by step学习LAMP配置
- pb setprofilestring()函数中使用相对路径
- Android Jcenter 依赖完整版
- python爬取去哪儿网_python网络爬虫(12)去哪网酒店信息爬取
- 手机计算机隐藏功能怎么用,手机隐藏功能大全
- (转) 坚持完成这套学习手册,你就可以去 Google 面试了