解题思路:  多重循环。

注意事项:  每个孩子的成绩唯一,为1-9中的一个。

参考代码: 

#include<stdio.h>
int main()
{

    int l1 = 9, l2, l3;                                  //  l代表李家孩子
    int w1 = 8, w2, w3;                            //w代表王家
    int z1 = 7, z2, z3;                               //z代表张家
    for (l2 = 1; l2 <= 5; l2++)                 //l2最大为5,为6时前两个孩子就15分了
    for (l3 = 1; l3 <= 4; l3++)
    for (w2 = 1; w2 <= 6; w2++)
    for (w3 = 1; w3 <= 5; w3++)
    for (z2 = 1; z2 <= 5; z2++)
    for (z3 = 1; z3 <= 4; z3++)
        {
            if ((l1 + l2 + l3 == 15)&& (w1 + w2 + w3 == 15) && (z1 + z2 + z3 == 15) //成绩都为15
              && (l1 - l2 >= 2) && (w1 - w2 >= 2)&& (z1 - z2 >= 2) && (l2 - l3 >= 2) 

              && (w2 - w3 >= 2) && (z2 - z3 >= 2)             //每家孩子成绩两两相差不小于2
              &&w2!=l2&&w2!=z2&&l2!=z2)                      //每个孩子成绩唯一
                                {
                                    /*printf("l2=%d l3=%d\n", l2, l3);
                                    printf("w2=%d w3=%d\n", w2, w3);
                                    printf("z2=%d z3=%d\n", z2, z3);
                                    printf("\n");*/
                                    if (l3 == 1)
                                    printf("L");
                                    if (w3 == 1)
                                    printf("W");
                                    if (z3 == 1)
                                    printf("Z");
                                }
                                
                            }
    return 0;
}

点赞(0)
 

0.0分

2 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论