#include<stdio.h>
enum ball{ red=1,yellow,blue };//枚举类型定义红黄蓝3个球,若其中某项赋值为1,则后面数据依次+1
void out(enum ball s){//输出函数
switch (s) {
case 1:
printf("red ");
break;
case 2:
printf("yellow ");
break;
case 3:
printf("blue ");
break;
}
}
int main(){
enum ball i,j,k;
int count=0;//计数器
for(i=1;i<=3;i++)//定义三个变量分别代表红黄蓝,通过排列组合,依次遍历出所有可能性
for(j=1;j<=3;j++)
for(k=1;k<=3;k++)
if(i!=j&&j!=k&&i!=k){//三个球的颜色互不相同时输出一种排列顺序
out(i);
out(j);
out(k);
printf("\n");
count++;//输出一种计数器加1
}
printf("共%d种",count);
}
输出结果如图: