一、题目
给出5种颜色,取出3种颜色进行组合,计算组合的个数。
如图:
二、思路分析
1、3层循环,每一层循环5次(有5个球)
2、排除掉三个球具有同种颜色的情况
三、代码截图【带注释】
四、源代码【带注释】
#include <stdio.h>
struct color5
{
int id;
char col[10];//注意,这里是一个数组!用[]
} color[5];
int main()
{
int count=0;
struct color5 color[5]= {{1,"black"},{2,"red"},
{3,"orange"},{4,"yellow"},{5,"blue"}
};
for(int i=0; i<5; i++)
{
for(int j=0; j<5; j++)
{
for(int z=0; z<5; z++)
{
//当三个组合都不相等的时候,打印。
//相等,则继续循环
if((i!=j)&&(i!=z)&&(j!=z))
{
count++;//统计循环的次数
printf("%4d %8s %8s %8s",
count,color[i].col,color[j]
.col,color[z].col);
printf("\n");
}
else
{
continue;//继续循环
}
}
}
}
printf("\n总共有 %d 种不同的组合",count);
}
五、运行效果
关注我,每天分享编程知识