一个袋子中有红黄蓝三个球,依次从袋子中拿出所有球。编写程序输出所有拿法。

#include<stdio.h>
enum ball{ red=1,yellow,blue };//枚举类型定义红黄蓝3个球,若其中某项赋值为1,则后面数据依次+1
void out(enum ball s){//输出函数
    switch (s) {
        case 1:
            printf("red ");
            break;
        case 2:
            printf("yellow ");
            break;
        case 3:
            printf("blue ");
            break;
    }
}
int main(){
    enum ball i,j,k;
    int count=0;//计数器
    for(i=1;i<=3;i++)//定义三个变量分别代表红黄蓝,通过排列组合,依次遍历出所有可能性
        for(j=1;j<=3;j++)
            for(k=1;k<=3;k++)
                if(i!=j&&j!=k&&i!=k){//三个球的颜色互不相同时输出一种排列顺序
                    out(i);
                    out(j);
                    out(k);
                    printf("\n");
                    count++;//输出一种计数器加1
                }
    printf("共%d种",count);
}

输出结果如图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值