jushdi 2022-08-19 21:24 采纳率: 62.5%
浏览 70
已结题

C语言,解一元二次方程

我刚刚学C没多久,现在做 这道 题卡住了,恳请各位们能教教我接下来怎么改

img

img

  • 写回答

5条回答 默认 最新

  • 斗迷飞鸟 2022-08-20 02:10
    关注

    (1)原代码的问题

    #include <iostream>  //<iostream>是C++的头文件,不是C的头文件
    #include <math.h>
    using namespace std; //C语言中不使用using namesapce std
    int main()
    {
        double a, b, c;
        scanf("%lf %lf %lf", &a, &b, &c);
        double x;
        x = b*b - 4 * a*c;
        if (x == 0) {
            printf("x1=x2=%.5lf", -b / 2 / a);
        }
        else if (x > 0) {
            printf("x1=%.5f;x2=%.5f", (-b + sqrt(x)) / 2 / a, (-b - sqrt(x)) / 2 / a);
        }
        else(x < 0); {     //这里直接使用else就可以了
            //在a=1,b=0,c=1的特殊情形下,输出结果的实部前面会有负号
            printf("x1=%.5f+%.5fi;x2=%.5f-%.5fi", -b / 2 / a, sqrt(-x) / 2 / a, -b / 2 / a, sqrt(-x) / 2 / a);
        }
        return 0;
    }
    

    (2)修改后的代码

    #include <math.h>
    #include <stdio.h>
    
    int main()
    {
        double a, b, c;
        scanf("%lf %lf %lf", &a, &b, &c);
        double x;
        x = b*b - 4*a*c;
        if (x == 0) {
            printf("x1=x2=%.5lf\n", -b / 2 / a);
        }
        else if (x > 0) {
            printf("x1=%.5lf;x2=%.5lf\n", (-b + sqrt(x)) / 2 / a, (-b - sqrt(x)) / 2 / a);
        }
        else {
            if (b == 0)
            {
                printf("x1=%.5lf+%.5lfi;x2=%.5lf-%.5lfi\n", 0.0, sqrt(-x) / 2 / a,
                    0.0, sqrt(-x) / 2 / a);
            }
            else
            {
                printf("x1=%.5lf+%.5lfi;x2=%.5lf-%.5lfi\n", -b / 2 / a, sqrt(-x) / 2 / a,
                    -b / 2 / a, sqrt(-x) / 2 / a);
            }
        }
        return 0;
    }
    

    (3)代码运行结果截图

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 8月28日
  • 已采纳回答 8月20日
  • 创建了问题 8月19日

悬赏问题

  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计