在口袋中装有红,黄,蓝和白4种颜色的小球若干个,每次从口袋中先后取出3个小球,数编程输出在得到的3种不同色的球的可能取法的排练情况
用枚举类型表示不同色的小球,用count对不同色的求的排练进行计数
#include <stdio.h>
#include <stdlib.h>
enum ColorType
{
red,yellow,blue,white
};
void PrintColor(enum ColorType color);
int main(void)
{
int i,j,k,count=0;
enum ColorType color_i,color_j,color_k;
for(i=0;i<4;i++)
{
color_i=(enum ColorType)i;
for(j=0;j<4;j++)
{
color_j=(enum ColorType)j;
if(color_i!=color_j)
{
for(k=0;k<4;k++)
{
color_k=(enum ColorType)k;
if(color_k!=color_i&&color_k!=color_j){
printf("%- 6d",++count);
PrintColor(color_i);
PrintColor(color_j);
PrintColor(color_k);
printf("\n");
}
}
}
}
}
system("PAUSE");
return 0;
}
void PrintColor(enum ColorType color)
{
switch(color)
{
case red:
printf("%-10s","red");
break;
case yellow:
printf("%-10s","yellow");
break;
case blue:
printf("%-10s","blue");
break;
case white:
printf("%-10s","white");
break;
}
}
注意:1“%-6d表宽度为6,左对齐”
2
printf("%-10s","white");
注意颜色上面不要忘记+引号