第1个回答 2009-05-25
#include <stdio.h>
void main()
{
enum color{red,yellow,blue,while,blace};
enum color i,j,k,pri;
int n,loop;
n=0;
for(i=red;i<=black;i++)
for(j=red;j<=blace;j++)
if(i!=j) //这句是关键!
{
for(k=red;k<=blace;k++)
if((k!=i)&&(k!=j)) //这句亦是关键!
{
n=n+1; //用于表示共有多少种组合!
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","blace");break;
default :break;
}
}
printf("\n");
}
}
printf("\ntotal:%5d\n",n); //共有60种组合!
}