在 C++ 中求解方程

Solving equations in C++

我是 C++ 的新手,我接到了一个任务来求解这个二次方程:

5x2^ + 6x-1 = 0

如何通过编写 C++ 代码实现此目的?

编辑: 放置了我尝试使用的代码

#include <stdio.h>
#include <iostream>
using namespace std;

int main()
{
    int sq, sixq, single, sum
    sq = 5 * 5;
    sixq = 6;
    single = -1 ;
    sum = sq + sixq - single;

    return sum;
}

给定axx + bx + c = 0,第一项工作是计算b * b - 4 * a * c。如果它小于零,则二次方程没有 real 根。此时您的程序应该 return 出错,除非它能够处理 复杂 数字。

否则你可以计算 sqrt(b * b - 4 * a * c) 我们称之为 D.

那么根(即解)是-(b + D) / (2 * a)-(b - D) / (2 * a)

请注意,您应该使用 double 来计算 D 和根。这些不太可能计算为整数。

如果你在谈论评估表达式,你可以这样做:

int main(void)
{
  int x;
  std::cout << "Enter value for x: ";
  std::cin >> x;
  const int x_squared = x * x;

  const int y = 5 * x_squared + 6 * x - 1;
  cout << "\nResult: " << y << std::endl;
  return EXIT_SUCCESS;
}

请参阅@Bathsheba 的答案以查找表达式的根。