枚举类型例题:口袋中有红、黄、蓝、白、黑5种颜色的球若干个。每次从口袋中先取出3个球,问得到3种不同色的球的可能取法,打印出各种排列的情况。

 1 #include<stdio.h>
 2 int main(void)
 3 {
 4     enum Color {red,yellow,blue,white,black};
 5     int i,j,k;
 6     int n=0,pri,loop;
 7     for (i=red;i<=black;i++)
 8     {
 9         for (j=red;j<=black;j++)
10         {
11             if(i!=j)
12             {
13                 for(k=red;k<=black;k++)
14                 {
15                     if((k!=i)&&(k!=j))
16                     {
17                         n=n+1;
18                         printf("%-4d",n);
19                         for(loop=1;loop<=3;loop++)
20                         {
21                             
22                             switch(loop)
23                             {
24                             case 1:pri=i;break;
25                             case 2:pri=j;break;
26                             case 3:pri=k;break;
27                             default:break;
28                             }
29                             switch(pri)
30                             {
31                             case red:printf("%-10s","red");break;
32                             case yellow:printf("%-10s","yellow");break;
33                             case blue:printf("%-10s","blue");break;
34                             case white:printf("%-10s","white");break;
35                             case black:printf("%-10s","black");break;
36                             default:break;
37                             }
38                         }
39                         printf("\n");
40                     }
41                 }
42             }
43         }
44     }
45     printf("\nTotal is:%d\n",n);
46 }

 

posted @ 2013-11-24 00:12  ASMLearner  阅读(5522)  评论(0编辑  收藏  举报