解题思路: 多重循环。
注意事项: 每个孩子的成绩唯一,为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分
2 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复