21xrx.com
2025-04-07 16:51:03 Monday
文章检索 我的文章 写文章
C++求三个数最大值,不能两两相邻。
2023-07-13 22:08:03 深夜i     15     0
C++ 最大值 三个数 不能相邻

在编程学习中,找最大值是一个常见的问题,而对于需要找三个数中的最大值,并且这三个数不能两两相邻的情况,使用C++语言来解决是一个不错的选择。

首先,我们需要将三个数输入程序中,可以通过C++中的cin语句来完成,例如:

int a, b, c;
cout << "请输入三个数:" << endl;
cin >> a >> b >> c;

接着,我们需要进行最大值的判断。对于三个数不能两两相邻的限制条件,我们可以分别判断a与c,以及b与c的大小,最终比较两个结果的大小,选择较大的一个作为最终答案。

例如,我们可以先判断a与c的大小关系,并使用两个变量来分别存储最大值和次大值:

int max1, max2;
if (a > c)
  max1 = a;
  max2 = c;
else
  max1 = c;
  max2 = a;

然后我们再判断b与c的大小关系,并更新max1和max2的值:

if (b > c) {
  if (b > max1)
    max2 = max1;
    max1 = b;
   else if (b > max2)
    max2 = b;
  
} else {
  if (c > max1)
    max2 = max1;
    max1 = c;
   else if (c > max2)
    max2 = c;
  
}

最后,max1就是三个数中最大的一个,而且满足两两不相邻的限制条件。

完整的代码如下:

#include<iostream>
using namespace std;
int main() {
  int a, b, c;
  cout << "请输入三个数:" << endl;
  cin >> a >> b >> c;
  int max1, max2;
  if (a > c)
    max1 = a;
    max2 = c;
   else
    max1 = c;
    max2 = a;
  
  if (b > c) {
    if (b > max1)
      max2 = max1;
      max1 = b;
     else if (b > max2)
      max2 = b;
    
  } else {
    if (c > max1)
      max2 = max1;
      max1 = c;
     else if (c > max2)
      max2 = c;
    
  }
  cout << "三个数中最大的是:" << max1 << endl;
  return 0;
}

通过这样简单的程序设计,我们就能找到三个数中的最大值,同时满足两两不相邻的限制条件,这种方法也可以推广到寻找多个数中的最大值,并且不相邻。

  
  

评论区