【手把手带你刷好题】—— 37.猜名次(作业、非力扣)

举报
安然无虞 发表于 2022/05/27 00:49:00 2022/05/27
【摘要】 【前言】 今天是刷题打卡第37天! 不负代码不负卿鸭。    原题:猜名次 题目描述: 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果: A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说...

【前言】

今天是刷题打卡第37天!

不负代码不负卿鸭。

  

原题:猜名次

题目描述:

5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果:

A选手说:B第二,我第三;

B选手说:我第二,E第四;

C选手说:我第一,D第二;

D选手说:C最后,我第三;

E选手说:我第四,A第一;

比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。

其实跟之前“猜凶手”那题一样,让我们回顾一下:

https://blog.csdn.net/weixin_57544072/article/details/121594276icon-default.png?t=LA92https://blog.csdn.net/weixin_57544072/article/details/121594276代码执行:


  
  1. #include<stdio.h>
  2. int main()
  3. {
  4. int a = 0;
  5. int b = 0;
  6. int c = 0;
  7. int d = 0;
  8. int e = 0;
  9. //遍历所有可能,a,b,c,d,e都可能是1~5的名次
  10. for (a = 1; a <= 5; a++)
  11. {
  12. for (b = 1; b <= 5; b++)
  13. {
  14. for (c = 1; c <= 5; c++)
  15. {
  16. for (d = 1; d <= 5; d++)
  17. {
  18. for (e = 1; e <= 5; e++)
  19. {
  20. if (((b == 2) + (a == 3) == 1)
  21. && (b == 2) + (e == 4) == 1
  22. && (c == 1) + (d == 2) == 1
  23. && (c == 5) + (d == 3) == 1
  24. && (e == 4) + (a == 1) == 1)
  25. {
  26. if (a * b * c * d * e == 120)//注意要加上这个条件,否则可能出现多人占用一个名次的情况
  27. {
  28. printf("a=%d b=%d c=%d d=%d e=%d\n", a, b, c, d, e);
  29. }
  30. }
  31. }
  32. }
  33. }
  34. }
  35. }
  36. return 0;
  37. }

结语

今天是刷题打卡第37天!

加油吧少年。

 

文章来源: bit-runout.blog.csdn.net,作者:安然无虞,版权归原作者所有,如需转载,请联系作者。

原文链接:bit-runout.blog.csdn.net/article/details/121707929

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。