标题:枚举类型示例
只看楼主
hmsabc
Rank: 2
来 自:贵州省兴义市
等 级:论坛游民
帖 子:97
专家分:19
注 册:2010-8-2
结帖率:100%
 问题点数:0 回复次数:0 
枚举类型示例
程序代码:
//枚举类型示例
/*例7.8  口袋中有红、黄、蓝、白、黑 5 种颜色的球若干个。每次从口袋中任意取出 3 个球,问得到 3 种不同
颜色的球的可能取法,输出每种排列的情况。*/

#include <iostream>
#include <iomanip>                                              //输出时用到 setw 控制符
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++)                      //只有两个球的颜色不同,才需要检查第三个球
            if(( k != i) && ( k != j))                            //三个球的颜色都不同
      { n = n + 1;                                         //使累计值 n 加 1
              cout << setw(3) << n;                              //输出当前的 n 值
              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;                    //使 pri 的值为 j
                case 3: pri = color(k); break;                    //使 pri 的值为 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;
            system("pause");
            return 0;
}
搜索更多相关主题的帖子: 枚举 类型 示例 
2010-08-17 13:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-315962-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022323 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved