我是靠谱客的博主 愉快西牛,最近开发中收集的这篇文章主要介绍口袋中有红黄蓝白黑5种颜色的球若干个。每次从口袋中任意取出三个球,问得到3中不通过颜色的球的可能取法。(枚举),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

// 121212
第七章例7.7.cpp : 定义控制台应用程序的入口点。
//
/*
* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 作 者:
刘同宾
* 完成日期:2012 年 12 月 12 日
* 版 本 号:v1.0
*
* 输入描述:口袋中有红黄蓝白黑5种颜色的球若干个。每次从口袋中任意取出三个球,问得到3中不通过颜色的球的可能取法。(枚举)
* 问题描述:
* 程序输出:
* 问题分析:略
* 算法设计:略
*/
#include "stdafx.h"
#include<iostream>
#include<iomanip>
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)//三个球的颜色都不同
{
n=n+1;//使累计值n加1
cout<<setw(3)<<n;//输出当前的n值,字符宽度为3
for(loop=1;loop<=3;loop++)//先后对三个球做处理
{
switch(loop)//loop的值先后为1,2,3
{
case 1:pri=color(i);break;//color(i)是强制类型转换,使pri的值为i
case 2:pri=color(j);break;//
j
case 3:pri=color(k);break;//
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;
}

最后

以上就是愉快西牛为你收集整理的口袋中有红黄蓝白黑5种颜色的球若干个。每次从口袋中任意取出三个球,问得到3中不通过颜色的球的可能取法。(枚举)的全部内容,希望文章能够帮你解决口袋中有红黄蓝白黑5种颜色的球若干个。每次从口袋中任意取出三个球,问得到3中不通过颜色的球的可能取法。(枚举)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部