五位跳水高手参加跳水比赛,A选手说:B第二,我第三。B选手:我第二,E第四。C选手:我第一,D第二。D选手:C最后,我第三。E选手:我第四,A第一 。成绩公布之后,每位选手的预测都只说对一半,求名次?
2018-04-11 20:31
309 查看
#include<stdio.h> int main() int a,b,c,d,e,c1,c2,c3,c4,c5; for(a=1;a<=5;a++) { for(b=1;b<=5;b++) { for(c=1;c<=5;c++) { for(d=1;d<=5;d++) { for(e=1;e<=5;e++) { c1=(b==2)+(a==3)==1; c2=(b==2)+(e==4)==1; c3=(c==1)+(d==2)==1; c4=(c==5)+(d==3)==1; c5=(e==4)+(a==1)==1; if(c1+c2+c3+c4+c5==5&&a+b+c+d+e==15&&a*b*c*d*e==120) { printf("A:%d\nB:%d\nC:%d\nD:%d\nE:%d\n",a,b,c,d,e); return 0; } } } } } } }运行结果:A:3 B:1 C:5 D:2 E:4解析:五个人,每个人说的话都是对一半,故我们可以采用5*5的循坏结构,也就是for循坏这个结构。c1=(b==2)+(a==3)==1这个结构主要用来表示每个人说的话都是对一半,表示b假如为第二名,a就不是第三名,(b==2)的判断值为1,(a==3)的判断值为0,相加总是为为1.名次有1,2,3,4,5名,名次之和 为15,名次之积为120,这两个条件必不可少,没有这两个条件的话,程序无法对名次进行筛选,因此会造成有重复的排名。
阅读更多
相关文章推荐
- 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A第一
- 1. 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A
- 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A
- 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A第一; 比
- 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A
- 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三。 B选手说:我第二,E第四。 C选手说:我第一,D第二。 D选手说:C最后,我第三。 E选手说:我第四,A第一。
- 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A
- 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A
- 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果,比赛结束后,每位选手都说对了一半,请编程确定比赛的名次
- c语言:2种方法:5位运动员参加跳水比赛,每位选手都说对一半,请确定比赛名次
- c语言:2种方法:5位运动员参加跳水比赛,每位选手都说对一半,请确定比赛名次
- 5位运动员参加了10米台跳水比赛,每位选手都说对了一半,请编程确定比赛的名次
- 5名跳水高手参加10米高台跳水决赛,有人让5人根据实力预测比赛结果编程解出比赛结果的实际名次
- 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 确定比赛的名次
- 比赛结束后,每位选手都说对了一半,请编程确定比赛的名次
- 5位选手说两个猜测,都说对一半,预测比赛名次问题
- 5位选手说两个猜测,都说对一半,预测比赛名次问题
- 5位运动员参加10米台跳水比赛,对他们名次做出预测。
- 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
- 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果