OJ刷题:猜名次和找凶手

简介: OJ刷题:猜名次和找凶手

1. 猜名次

代码实现:

#include <stdio.h>
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++)
          {
            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&&a+b+c+d+e==15)
              printf("a=%d b=%d c=%d d=%d e=%d\n",a,b,c,d,e);
            }
          }
        }
      }
    }
  }
}
return 0;

嵌套5层循环,把a,b,c,d,e五人的所有名次的可能性全部枚举出,再利用条件进行筛选。

输出结果:

2. 找凶手

代码实现:

#include <stdio.h>
int main()
{
  int killer = 0;
  for (killer = 'a'; killer <= 'd'; killer++)
  {
    if ((killer != 'a') +( killer == 'c') 
      +( killer == 'd') +( killer != 'd') == 3)
    {
      printf("凶手是:%c\n", killer);
    }
  }
}
return 0;

根据题目设置判断条件,筛选出相加等于3的即可。

目录
相关文章
|
2月前
lanqiao OJ 22年省赛 扫雷
lanqiao OJ 22年省赛 扫雷
34 1
|
2月前
lanqiao OJ 182 小朋友崇拜圈
lanqiao OJ 182 小朋友崇拜圈
32 2
|
C语言
用C语言解决实际问题之买汽水、猜凶手(名次)
用C语言解决实际问题之买汽水、猜凶手(名次)
94 0
【AcWing每日一题】3443. 学分绩点
【AcWing每日一题】3443. 学分绩点
81 0
|
C语言
【C语言】【典例详解】【刷题】猜名次&&猜凶手【循环练习】
【C语言】【典例详解】【刷题】猜名次&&猜凶手【循环练习】
192 0
|
7月前
|
算法
OJ刷题:《剑指offer》之单身狗1、2 !(巧用位操作符,超详细讲解!)
OJ刷题:《剑指offer》之单身狗1、2 !(巧用位操作符,超详细讲解!)
|
C语言
【C语言每日一题】猜名次
【C语言每日一题】猜名次
109 0
|
C语言
C语言经典问题—猜名次、猜凶手和杨辉三角
C语言经典问题—猜名次、猜凶手和杨辉三角
74 0
|
测试技术 C语言
题目 2572: 蓝桥杯2020年第十一届省赛真题-子串分值
题目 2572: 蓝桥杯2020年第十一届省赛真题-子串分值