标题: C语言枚举的简单应用 [打印本页]

作者: hutians    时间: 2015-2-10 17:41
标题: C语言枚举的简单应用
/************************************************************************************
    口袋中有红、黄、蓝、白、黑5种颜色的球若干个。每次从口袋中先
后取出3个球,求得到3种不同颜色的球的可能取法,并输出每种排列的情
况及多少种可能。
    使用枚举法列举颜色。

****************************************************************************************/

#include <stdio.h>
#include <stdlib.h>

int main()
{
    enum color{red,yellow,blue,white,black};
    enum color i,j,k,pri;
    int n,loop;
    n = 0;
    for(i=red;i<=black;i++)
        for(j=red;j<=black;j++)
            if(i!=j)
            {
                for(k=red;k<=black;k++)
                    if((k!=i)&&(k!=j))
                    {
                        n++;
                        printf("%-4d",n);
                        for(loop=1;loop<=3;loop++)
                        {
                            switch(loop)
                            {
                                case 1:    pri = i;    break;
                                case 2:    pri = j;    break;
                                case 3:    pri = k;    break;
                                default:   break;
                            }
                            switch(pri)
                            {
                                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");
                    }
            }
    printf("\ntotal:%5d\n",n);
    return 0;
}















欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1