21xrx.com
2024-11-05 19:37:41 Tuesday
登录
文章检索 我的文章 写文章
C++求三个数最大值,不能两两相邻。
2023-07-13 22:08:03 深夜i     --     --
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;

}

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

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复