21xrx.com
2024-11-08 21:15:39 Friday
登录
文章检索 我的文章 写文章
C++代码实现和为给定数
2023-07-05 04:40:42 深夜i     --     --
C++编程 数组求和 循环迭代 条件语句 数组遍历

的两个数

在编程中,有时候需要找出给定数中哪两个数的和等于给定数。为了完成这项任务,我们可以使用C++编程语言来实现。

在C++中,我们可以先创建一个函数,这个函数可以输入一个整数作为给定数,并从一个已排序的数组中查找出这两个数。这个函数的实现方式如下:


void findTwoNumbersWithGivenSum(int arr[], int n, int sum)

{

  int left = 0, right = n - 1;

  while (left < right)

  {

    int currSum = arr[left] + arr[right];

    if (currSum == sum)

    {

      cout << "The two numbers are " << arr[left] << " and " << arr[right] << endl;

      return;

    }

    else if (currSum < sum)

      left++;

    else

      right--;

  }

  cout << "No two numbers with given sum." << endl;

}

在这个函数中,我们定义了三个参数,arr、n和sum。其中,arr表示已经排序后的数组,n表示数组中元素的个数,sum表示给定的数。我们使用两个指针left和right分别指向数组的第一个元素和最后一个元素,并在while循环中通过计算这两个元素的和来判断是否等于给定的数sum。如果相等,则输出这两个数,否则,如果当前的和小于给定数,则移动左指针left;否则,如果当前的和大于给定数,则移动右指针right。

下面是一个示例程序,用于测试findTwoNumbersWithGivenSum函数是否正确:


int main()

{

  int arr[] = 9;

  int n = sizeof(arr)/sizeof(arr[0]);

  int sum = 8;

  findTwoNumbersWithGivenSum(arr, n, sum);

  return 0;

}

在这个程序中,我们定义了一个名为arr的数组,其中包含了五个已排序的整数值。我们还定义了变量n来存储数组中的元素个数和一个变量sum来存储给定的数值。通过调用findTwoNumbersWithGivenSum函数,并将arr、n和sum作为参数传入,它会计算数组中是否存在两个值相加为sum的数,并在屏幕上输出这两个数。在这个测试代码中,输出为"The two numbers are 1 and 7"。

使用C++编程语言来实现给定数的两个数之和的问题是一种非常常见的问题,许多实际生活中的问题都可以通过这种方式进行求解。在实际的开发工作中,我们经常会遇到这种情况,因此我们需要掌握相应的技能,以实现快速、准确的求解。

  
  
下一篇: C++复数类型

评论区

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