【中学】求解一元二次方程
【中学】求解一元二次方程
初中的小明已经开始学习求解一元二次方程了,下面让我们来教计算机如何求解。输入 a,b,c ,求一元二次方程 ax²+bx+c=0 的根。
包括复数根
输入:
假设 a,b,c均int。
输出:
要求输出的根为 double 型,保留 6 位小数。
样例:
序号 | 测试输入 | 期待的输出 | 额外进程 |
---|---|---|---|
1 |
0 0 0↵
|
Input error!↵
|
0 |
2 |
0 0 10↵
|
Input error!↵
|
0 |
3 |
10 0 0↵
|
x1=x2=0.000000↵
|
0 |
4 |
10 20 0↵
|
x1=0.000000↵ x2=-2.000000↵
|
0 |
5 |
10 0 20↵
|
x1=1.414214i↵ x2=-1.414214i↵
|
0 |
思路
先观察样例可以知道,输出应该是保留六位小数,具体是四舍五入还是直接舍弃可以通过尝试确定
同样地,观察样例,我们应该将输入分为三种情况:一元二次方程、一元一次方程和“非方程”
那么直接地,我们考虑到先分类再通过求根公式解出答案:
流程图
其中解二次方程的流程图为:
代码
#include <stdio.h>
#include <math.h>
int main()
{int a,b,c;scanf("%d %d %d",&a,&b,&c);if(a==0&&b==0)printf("Input error!\n");else if(a==0&&b!=0){double ss =-(double)c/b;printf("x=%.6lf\n",ss==0?fabs(ss):ss);}else{double Del = b*b-4*a*c,p=-b/(2.0*a),q=sqrt(fabs(Del))/(2.0*a);if(Del==0)printf("x1=x2=%.6lf\n",p);else if(Del>0)printf("x1=%.6lf\nx2=%.6lf\n",p+q,p-q);else if(p!=0)printf("x1=%.6lf+%.6lfi\nx2=%.6lf-%.6lfi\n",p,q,p,q);elseprintf("x1=%.6lfi\nx2=-%.6lfi\n",q,q);}return 0;
}
想一下为什么是
2.0*a
而不是2*a
【中学】求解一元二次方程相关推荐
- python解一元二次方程步骤-Python实现求解一元二次方程的方法示例
Python实现求解一元二次方程的方法示例 本文实例讲述了Python实现求解一元二次方程的方法.分享给大家供大家参考,具体如下: 1. 引入math包 2. 定义返回的对象 3. 判断b*b-4ac ...
- java 输入 方程,用java 编写一程序,求解一元二次方程:aX2+bX+c=0.参数a、b及c从命令行做参数输入 java...
题目: 用java 编写一程序,求解一元二次方程:aX2+bX+c=0.参数a.b及c从命令行做参数输入 java 答案参考: 以下程序在jdk5.0测试通过 import java.util.Sca ...
- 一元二次方程python脚本_Python实现求解一元二次方程的方法示例
本文实例讲述了Python实现求解一元二次方程的方法.分享给大家供大家参考,具体如下: 1. 引入math包 2. 定义返回的对象 3. 判断b*b-4ac的大小 具体计算代码如下: # -*- co ...
- Python案例:四种方式编程求解一元二次方程
文章目录 一.一元二方程求解公式 二.编程求解一元二次方程 1.直接求解一元二次方程 2.编写一元二次方程求解函数 3.编写一元二次方程类求解 (1)求实数解 (2)求复数解 4.利用sympy的so ...
- 利用C++求解一元二次方程
题目:求解一元二次方程:ax²+bx+c=0 的解,其中a=1,b=-3,c=2. 分析:大家都知道一元二次方程的解有三种情况,即考虑Δ=(b²-4ac)的算术平方根,当Δ>0时,方程有两个不相 ...
- C语言(求解一元二次方程的根)
以下程序均在Visual C++6.0中运行成功 例:求方程2x^2-3x-6=0的根 #include <stdio.h> #include <math.h> void ma ...
- 11. 求解一元二次方程
初中的小明已经开始学习求解一元二次方程了,下面让我们来教计算机如何求解.输入 a,b,c ,求一元二次方程 ax²+bx+c=0 的根. 输入: 假设 a,b,c均int. 输出: 要求输出的根为 d ...
- c++ 求解一元二次方程 全面考虑实根和虚根的情况
题目 求解一元二次方程. 一元二次方程的定义为: ax2+bx+c=0 (1)如果b2 -4ac>0,方程有两个不同的实根,分别是: (2)如果b2 -4ac< 0,方程没有实根,但有虚根 ...
- c++求解一元二次方程的解
实数解与复数解均可 #include<iostream>using namespace std;void Calculate(double a, double b, double c) { ...
最新文章
- SpringCloud Alibaba微服务实战(六) - 路由网关(Gateway)
- 2022 AAAI Fellow放榜!SAIL首席科学家颜水成、港科大教授冯雁等10人入选
- 批阅论文和作业Python程序助手
- 【OpenCV3】cv::Mat中最值和均值的求解
- 跟谁学、有道营销费用大于营业收入,在线教育企业烧钱大战何时休?
- 正定小主人机器人_机器人书苑,迸发不一样的光彩
- [html] iOS下页面如何启动加载时显示画面图片?如何设置大小?它有什么好处?
- (十二)linux内核定时器
- 一个人的命运决定于晚上8点到10点之间...
- Mysql 8.0 遇到用遇到的几个问题及解决办法
- Django 配置出错模板
- open_flash_chat
- javascript正则表达式验证IP,URL
- arcgis交通可达性分析步骤_【规划广角】街道慢行品质的多维度评价与导控策略——基于多源城市数据的整合分析...
- 【NLP】谷歌综述论文 Efficient Transformers 阅读笔记
- 微信小程序的学习资料销售平台
- 表情包生成引流源码 - Jason原创
- 实验分享丨迅为IMX6ULL开发板点亮第一个led灯
- 人工智能培训学校学哪些内容
- 关于继承BaseServlet后为什么form表单中必须加上method=“post”