C语言复习---比赛问题

两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。 
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h>


int main()
{
    char a, b, c;    //我方a,b,c三人

    for (a = 'x'; a <= 'z'; a++)    //选手a的可选对手
        for (b = 'x'; b <= 'z';b++)    //选手b的可选对手
        {
            if (b!=a)    //两个选手的对手不能一样
            {
                for (c = 'x'; c <= 'z';c++)    //选手c的可选对手
                {
                    if (c!=a&&c!=b)    //对手不能和ab选手的对手一样
                    {
                        //开始对条件进行筛选,按照题意进行筛选
                        if (a != 'x'&&c != 'z'&&c != 'x')
                            printf("a vs %c\nb vs %c\nc vs %c\n", a, b, c);
                    }
                }
            }
        }
    system("pause");
    return 0;
}
除了最后的if语句是用于判断题意中的:a说他不和x比,c说他不和x,z比
上面的for和if会将所有可能的对手赋给选手,只是保证了三个选手的对手不一致,我们只需要在最后进行整体筛选即可

猜你喜欢

转载自www.cnblogs.com/ssyfj/p/9382838.html
今日推荐