在口袋中装有红,黄,蓝和白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");注意颜色上面不要忘记+引号

本文通过C语言实现了一个简单的程序,该程序可以计算并输出从四种颜色(红、黄、蓝、白)的小球中选取三种不同颜色的所有可能排列组合情况。程序使用了枚举类型来表示不同的颜色,并通过三层循环遍历所有可能的选择方式。

3662

被折叠的 条评论
为什么被折叠?



