20201221c委派任务*(else if和if的区别对待)

如题:
某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:

1)A和B两人中至少去一人;

2)A和D不能一起去;

3)A、E和F三人中要派两人去;

4)B和C都去或都不去;

5)C和D两人中去一个;

6)若D不去,则E也不去。

问应当让哪几个人去?

#include<stdio.h>
int main()
{
    int a,b,c,d,e,f,g,a1,b1,c1,d1,e1,f1,max=0;
    for(a=0;a<=1;a++)
    {
        for(b=0;b<=1;b++)
        {
            for(c=0;c<=1;c++)
            {
                for(d=0;d<=1;d++)
                {
                    for(e=0;e<=1;e++)
                    {
                        for(f=0;f<=1;f++)
                        {
                            if(a+b>=1&&a+d<2&&a+e+f==2&&(b+c==2||b+c==0)&&c+d==1&&(d==0&&e==0||d==1))
                            {
                                if(a+b+c+d+e+f>max)
                                {
                                    max=a+b+c+d+e+f;
                                    a1=a;
                                    b1=b;
                                    c1=c;
                                    d1=d;
                                    e1=e;
                                    f1=f;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    if(a1>0)printf("A,");
    if(b1>0)printf("B,");
    if(c1>0)printf("C,");
    if(d1>0)printf("D,");
    if(e1>0)printf("E,");
    if(f1>0)printf("F,");
    return 0;
}

一开始倒数几行我是用else if 的,但发现只能输出A,于是将else去掉就好了,else if 与if 的区别在于前者是不属于第一个if的情况,而后者没有这个限制,因此else if和if不能随意相互替换

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值