怎么用c++解一元一次方程
时间: 2023-04-06 10:04:41 浏览: 206
可以使用以下代码来解一元一次方程:
#include <stdio.h>
int main() {
float a, b, x;
printf("请输入一元一次方程的系数a和b:\n");
scanf("%f %f", &a, &b);
if (a == 0) {
if (b == 0) {
printf("方程有无数解!\n");
} else {
printf("方程无解!\n");
}
} else {
x = -b / a;
printf("方程的解为:x = %f\n", x);
}
return 0;
}
其中,a和b分别为一元一次方程的系数,x为方程的解。如果a等于0,则判断b是否等于0,如果是,则方程有无数解,如果不是,则方程无解。如果a不等于0,则计算出方程的解x,并输出。
相关问题
c++解一元三次方程函数
以下是一个简单的 C++ 函数可以用来解一元三次方程:
```c++
#include <iostream>
#include <cmath>
using namespace std;
void solve_cubic(double a, double b, double c, double d) {
double delta, p, q, u, v, w;
delta = b*b - 3*a*c;
p = (-b + sqrt(delta)) / (3*a);
q = (-b - sqrt(delta)) / (3*a);
u = -p - q;
v = sqrt(3.0) * (p - q) / 2;
w = -u - v;
cout << "The three roots of the equation are: " << endl;
cout << u + d << endl;
cout << w + d << endl;
cout << v + d << endl;
}
```
这个函数采用了 Cardano's formula 来求解一元三次方程,它的参数是方程的四个系数 a, b, c 和 d,其中 d 是常数项。函数通过计算来确定方程的三个根,并将它们输出到标准输出流中。请注意,此函数假定方程具有三个实根。如果方程有复根,则需要使用更复杂的算法来解决。
c++ 解一元二次方程代码
请看下面的代码:
#include <stdio.h>
#include <math.h>
int main()
{
double a, b, c, delta, x1, x2;
printf("请输入一元二次方程的系数:\n");
printf("a = ");
scanf("%lf", &a);
printf("b = ");
scanf("%lf", &b);
printf("c = ");
scanf("%lf", &c);
delta = b * b - 4 * a * c;
if (delta < )
{
printf("方程无实数根!\n");
}
else if (delta == )
{
x1 = x2 = -b / (2 * a);
printf("方程有两个相等的实数根:x1 = x2 = %.2f\n", x1);
}
else
{
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("方程有两个不相等的实数根:x1 = %.2f,x2 = %.2f\n", x1, x2);
}
return ;
}