c语言:打印随机3球颜色小程序|练习题

2024-01-03 16:31:26

一、题目
给出5种颜色,取出3种颜色进行组合,计算组合的个数。
如图:

51b1773e6bae4dfba04dc41aa4cf689d.jpg

?

二、思路分析
1、3层循环,每一层循环5次(有5个球)
2、排除掉三个球具有同种颜色的情况

三、代码截图【带注释】

c8e840f171304180a55ad91fbbc1bc79.jpg

?

四、源代码【带注释】

#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);
}

五、运行效果

96aba0ef52224dfbbb4a0dd6e1cb452e.jpg

?

关注我,每天分享编程知识
?

文章来源:https://blog.csdn.net/2301_76173427/article/details/135362623
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。