zoukankan      html  css  js  c++  java
  • 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
    b vs %c
    c vs %c
    ", a, b, c);
                        }
                    }
                }
            }
        system("pause");
        return 0;
    }
    除了最后的if语句是用于判断题意中的:a说他不和x比,c说他不和x,z比
    上面的for和if会将所有可能的对手赋给选手,只是保证了三个选手的对手不一致,我们只需要在最后进行整体筛选即可

    二:颜色组合问题

    口袋中有红、黄、蓝、白、黑五种颜色的球若干,每次从口袋中取出3个球。问得到三种不同颜色的球可以选取的方法,打印出三种颜色的各种组合
    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <stdlib.h>
    
    enum Color
    {
        red,yellow,blue,white,black
    };
    
    int main()
    {
        enum Color i, j, k, cur;
        int n, loop;
        for (i = red; i <= black;i++)
        {
            for (j = red; j <= black;j++)
            {
                if (j!=i)
                {
                    for (k = red; k <= black;k++)
                    {
                        if (k!=i&&k!=j)
                        {
                            //找到所有的不同颜色组合
                            //循环3次,取出所有颜色
                            for (loop = 1; loop <= 3;loop++)
                            {
                                //每次获取一个颜色
                                switch (loop)
                                {
                                case 1:
                                    cur = i;
                                    break;
                                case  2:
                                    cur = j;
                                    break;
                                case 3:
                                    cur = k;
                                    break;
                                }
    
                                //将对应颜色打印出来
                                switch (cur)
                                {
                                case red:
                                    printf("%-10s", "red");
                                    break;
                                case yellow:
                                    printf("%-10s", "yellow");
                                    break;
                                case blue:
                                    printf("%-10s", "blue");
                                    break;
                                case white:
                                    printf("%-10s", "white");
                                    break;
                                case black:
                                    printf("%-10s", "black");
                                    break;
                                default:
                                    break;
                                }
                            }
                            printf("
    ");
                        }
                    }
                }
            }
        }
    
    
        system("pause");
        return 0;
    }

  • 相关阅读:
    vscode配置备份
    正则替换html代码中img标签的src值
    使用css3原生变量实现主题换肤
    vue3基础知识学习系列(二)响应式原理实现
    vue3基础知识学习系列(一)api使用
    eslint规则中文解释
    开发笔记:使用canvas实现3D金字塔比例图表&#128200;
    实用网页UI调试技巧
    2020年特殊的一年,成就特殊的我们
    java设计模式之责任链模式
  • 原文地址:https://www.cnblogs.com/ssyfj/p/9382838.html
Copyright © 2011-2022 走看看