初夏xia 2022-06-04 22:47 采纳率: 60%
浏览 61
已结题

求一元二次方程的两个根

题目为

img


自己写的代码为

img


我感觉代码有点复杂,有没有更为简单的方式呢

  • 写回答

1条回答 默认 最新

  • Hann Yang 优质创作者: 编程框架技术领域 2022-06-05 00:15
    关注
    #include <stdio.h>
    #include <math.h>
    
    int main(){
        float a , b , c, delta, real, imag, x1, x2;
        printf("请依次输入三个系数: ");
        scanf("%f,%f,%f", &a, &b, &c);
        if(a != 0){
            delta = 1.0 * b * b - 4.0 * a * c;
            if(delta >= 0){
                x1 = (-b + sqrt(delta)) / (2.0 * a);
                x2 = (-b - sqrt(delta)) / (2.0 * a);
                printf("Tow real roots:%.2f and %.2f", x1, x2);
            }
            else
            {
                real = -b / (2.0*a);
                imag = sqrt(-delta) / (2.0 * a);
                printf("Tow complex roos:%.2f+%.2fj and %.2f-%.2fj",real,imag,real,imag);
            }
        }
        else
        {
            printf("a can not be 0!");
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月6日
  • 已采纳回答 6月5日
  • 创建了问题 6月4日