博客
关于我
计算一元二次方程
阅读量:58 次
发布时间:2019-02-25

本文共 1376 字,大约阅读时间需要 4 分钟。

计算一元二次方程的根

问题描述

编写一个程序,接受一行输入,包含三个浮点数a, b, c,表示一元二次方程ax² + bx + c = 0的系数。根据a的值判断方程的类型,并计算根的情况。

输入描述

输入是一行,包含三个浮点数a, b, c,以空格分隔。

输出描述

对于每组输入,输出一元二次方程ax² + bx + c = 0的根的情况:

  • 如果a = 0,输出“Not quadratic equation”;
  • 如果a ≠ 0,根据判别式△ = b² - 4ac的值:
    • △ = 0,输出两个相等的实根;
    • △ > 0,输出两个不等的实根;
    • △ < 0,输出两个复数根,格式为“x1=实部-虚部i;x2=实部+虚部i”。

所有实数部分精确到小数点后2位,数字和符号之间无空格。

代码实现

#include 
#include
int main() { float a, b, c; while (scanf("%f %f %f", &a, &b, &c) != EOF) { double discriminant = b * b - 4 * a * c; if (a == 0) { printf("Not quadratic equation"); } else { if (discriminant == 0) { double x = (-b) / (2 * a); printf("x1=x2=%.2f", x); } else if (discriminant > 0) { double x1 = (-b - sqrt(discriminant)) / (2 * a); double x2 = (-b + sqrt(discriminant)) / (2 * a); printf("x1=%.2f;x2=%.2f", x1, x2); } else { double real_part = (-b) / (2 * a); double imaginary_part = sqrt(-discriminant) / (2 * a); printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi", real_part, imaginary_part, real_part, imaginary_part); } } printf("\n"); } return 0;}

运行结果

程序运行时,输入一行三个浮点数,输出相应的方程根情况。例如,输入“1 2 3”会输出x1=1.00;x2=3.00,输入“1 -2 -3”会输出x1=1.00;x2=1.00,输入“2 4 8”会输出x1=1.00-2.00i;x2=1.00+2.00i。

转载地址:http://jko.baihongyu.com/

你可能感兴趣的文章
nginx如何实现图片防盗链
查看>>
Nginx学习总结(13)——Nginx 重要知识点回顾
查看>>
Nginx学习总结(14)——Nginx配置参数详细说明与整理
查看>>
Nginx安装与常见命令
查看>>
Nginx安装及配置详解
查看>>
Nginx实战经验分享:从小白到专家的成长历程!
查看>>
Nginx实现反向代理负载均衡
查看>>
nginx实现负载均衡
查看>>
nginx开机启动脚本
查看>>
nginx异常:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf
查看>>
nginx总结及使用Docker创建nginx教程
查看>>
nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:128
查看>>
nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in usrlocalnginxconfnginx.conf128
查看>>
nginx日志分割并定期删除
查看>>
Nginx日志分析系统---ElasticStack(ELK)工作笔记001
查看>>
Nginx映射本地json文件,配置解决浏览器跨域问题,提供前端get请求模拟数据
查看>>
nginx最最最详细教程来了
查看>>
Nginx服务器---正向代理
查看>>
Nginx服务器上安装SSL证书
查看>>
Nginx服务器的安装
查看>>