解题思路:求只能是5种颜色之一,而且要判断个球是否同色,可以使用美剧类型变量处理。
#include<stdio.h>
int main(){
enum Color{red,yellow,blue,white,black};//声明枚举类型
enum Color i,j,k,pri;//定义枚举变量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 = n+1;//腹黑条件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 ;
}