在 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 的答案以查找表达式的根。
我是 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 的答案以查找表达式的根。