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

举报
安然无虞 发表于 2022/05/27 00:49:00 2022/05/27
950 0 0
【摘要】 【前言】 今天是刷题打卡第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代码执行:


      #include<stdio.h>
      int main()
      {
     	int a = 0;
     	int b = 0;
     	int c = 0;
     	int d = 0;
     	int e = 0;
     	//遍历所有可能,a,b,c,d,e都可能是1~5的名次
     	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++)
      					{
     						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;
      }
  
 

结语

今天是刷题打卡第37天!

加油吧少年。

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

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

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

作者其他文章

评论(0

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

    全部回复

    上滑加载中

    设置昵称

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

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

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