(2)实数二分,求二次方

 #include<iostream>
 using namespace std;
 int main(){
     double x;
     cin>>x;
     
     double l=0,r=x;
     for(int i=0;i<100;i++){
         double mid=(l+r)/2;
         if(mid*mid>=x)r=mid;
         else l=mid;
     }
     printf("%lf\n",l);
     return 0;
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 下面是一个解一元二次方程实数根的示例C程序: ```c #include <stdio.h> #include <math.h> int main() { double a, b, c; // 一元二次方程的系数 double delta; // 方程的判别式 double x1, x2; // 方程的实数根 printf("请输入一元二次方程(ax^2+bx+c=0)的系数:\n"); printf("a = "); scanf("%lf", &a); printf("b = "); scanf("%lf", &b); printf("c = "); scanf("%lf", &c); delta = b * b - 4 * a * c; if (delta < 0) { printf("方程无实数根\n"); } else if (delta == 0) { x1 = x2 = -b / (2 * a); printf("方程有一个实数根:x = %.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 0; } ``` 运行示例: ``` 请输入一元二次方程(ax^2+bx+c=0)的系数: a = 1 b = -5 c = 6 方程有两个实数根:x1 = 3.00, x2 = 2.00 ``` ### 回答2: 一元二次方程的一般形式为 ax^2 + bx + c = 0,其中a、b、c为实数,且a不等于0。 要计算一元二次方程的实数根,可以分为以下几个步骤: 1. 计算判别式D: D = b^2 - 4ac。 2. 根据判别式D的值进行分类: - 若D大于0,则方程有两个不相等的实数根。 - 若D等于0,则方程有两个相等的实数根。 - 若D小于0,则方程无实数根。 3. 根据分类结果进行具体的计算: - 若方程有两个不相等的实数根,则可以通过根公式得到: x1 = (-b + √D) / (2a),x2 = (-b - √D) / (2a)。 - 若方程有两个相等的实数根,则可以通过根公式得到: x1 = x2 = -b / (2a)。 需要注意的是,计算过程中可能会遇到浮点数运算误差,因此在比较浮点数时应该使用适当的精度范围。 这是一个用C语言实现计算一元二次方程实数根的例子: ```c #include <stdio.h> #include <math.h> int main() { float a, b, c, D, x1, x2; printf("请输入一元二次方程的系数:\n"); scanf("%f %f %f", &a, &b, &c); D = pow(b, 2) - 4 * a * c; if (D > 0) { x1 = (-b + sqrt(D)) / (2 * a); x2 = (-b - sqrt(D)) / (2 * a); printf("方程有两个不相等的实数根:x1 = %.2f, x2 = %.2f\n", x1, x2); } else if (D == 0) { x1 = x2 = -b / (2 * a); printf("方程有两个相等的实数根:x1 = x2 = %.2f\n", x1); } else { printf("方程无实数根。\n"); } return 0; } ``` 以上是计算一元二次方程实数根的方法和一个简单的C语言实现。 ### 回答3: 计算一元二次方程的实数根可以通过解方程的判别式来完成。一元二次方程通常的形式为ax^2 + bx + c = 0,其中a、b和c是已知的实数,且a不等于0。 计算步骤如下: 1. 计算判别式D = b^2 - 4ac。 2. 如果D大于0,则方程有两个不同的实数根,根的值可以使用公式x1 = (-b + 根号(D))/(2a)和x2 = (-b - 根号(D))/(2a)计算得出。 3. 如果D等于0,则方程有两个相同的实数根,根的值可以使用公式x1 = x2 = -b/(2a)计算得出。 4. 如果D小于0,则方程没有实数根,只有复数解。 以解方程2x^2 - 5x + 2 = 0为例: 1. 计算判别式D = (-5)^2 - 4*2*2 = 25 - 16 = 9。 2. 由于D大于0,即方程有两个不同的实数根,可以计算得出x1 = (-(-5) + 根号(9))/(2*2) = (5 + 3)/4 = 2和x2 = (-(-5) - 根号(9))/(2*2) = (5 - 3)/4 = 1/2。 3. 因此,方程2x^2 - 5x + 2 = 0的实数根为x1 = 2和x2 = 1/2。 总结起来,通过计算一元二次方程的判别式可以判断方程有几个实数根,并通过解根公式得出这些实数根的数值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值