桐雨 2015-11-21 07:40 采纳率: 28.6%
浏览 1403
已采纳

抽签结果,不知道怎么使用数组(第一次使用)

两队比赛,甲队A.B.C.D乙队W.X.Y.Z,已知A不与X比赛,C不与X.Z比赛,D不与W比赛。。。。输出所有可能的结果。。。。求大神解答告诉我应该怎么思考,谢谢图片

  • 写回答

6条回答 默认 最新

  • NK_test 博客专家认证 2015-11-22 04:00
    关注

    #include
    #include
    using namespace std;
    char A[3]={'W','Y','Z'};
    char B[4]={'W','X','Y','Z'};
    char C[2]={'W','Y'};
    char D[3]={'X','Y','Z'};
    int flag[4];
    int main()
    {
    int num=1;
    memset(flag,0,sizeof(flag));
    for(int i=0;i<3;i++)
    {
    for(int j=0;j<4;j++)
    {
    for(int k=0;k<2;k++)
    {
    for(int m=0;m<3;m++)
    {
    flag[A[i]-87]=1; //将W,X,Y,Z映射成0,1,2,3
    flag[B[j]-87]=1;
    flag[C[k]-87]=1;
    flag[D[m]-87]=1;

                    if(flag[0]==1&&flag[1]==1&&flag[2]==1&&flag[3]==1)
                    {
                        cout<<"分组"<<num++<<endl;
                        cout<<"A vs "<<A[i]<<endl;
                        cout<<"B vs "<<B[j]<<endl;
                        cout<<"C vs "<<C[k]<<endl;
                        cout<<"D vs "<<D[m]<<endl;
                        cout<<endl;
                    }
                    memset(flag,0,sizeof(flag));
                }
    
            }
        }
    }
    return 0;
    

    }

    
    

    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看