1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【C语言练习题】5位运动员参加了10米台跳水比赛 有人让他们预测比赛结果:A选手说:B

【C语言练习题】5位运动员参加了10米台跳水比赛 有人让他们预测比赛结果:A选手说:B

时间:2020-01-19 23:13:00

相关推荐

【C语言练习题】5位运动员参加了10米台跳水比赛 有人让他们预测比赛结果:A选手说:B

五名运动员参加比赛,每名选手的获奖可能性都是1,2,3,4,5名,我们用for循环嵌套的方式把这个意思表示出来:

比赛结束后,每位选手都说对了一半,接下来我们的问题就在于怎么描述一半是错的,一般是对的语句:

那么真的我们就可以表示为1,假的表示为0;

例如:A选手说:B第二,我第三;可以描述为(b== 2)+(a==1)=1;

a选手说的有一个是错的,有一个是对的,那么这时【0+1=1】,就得出了上面这个语句。

但是这样就会出现有重复的名次出现:

这时,我们可以用它们的乘积来限制,a*b*c*d*e=120

最后得到:

int main(){int a = 0;int b = 0;int c = 0;int d = 0;int e = 0;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++){//A选手说:B第二,我第三;//B选手说:我第二,E第四;//C选手说:我第一,D第二;//D选手说:C最后,我第三;//E选手说:我第四,A第一;if (((b == 2) + (a == 3) == 1) &&((b == 2) + (e == 4) == 1) &&((c == 1) + (d == 2) == 1) &&((c == 5) + (d == 3) == 1) &&((e == 4) + (a == 1) == 1)){if (a * b * c * d * e == 120){printf("a=%d b=%d c=%d d=%d e=%d\n", a, b, c, d, e);}}}}}}}return 0;}

【C语言练习题】5位运动员参加了10米台跳水比赛 有人让他们预测比赛结果:A选手说:B第二 我第三;B选手说:我第二 E第四;C选手说:我第一 D第二;D选手说:C最后 我第三;E选手说:……

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。