OpenJudge NOI 1.4 20:求一元二次方程的根
【题目链接】
OpenJudge NOI 1.4 20:求一元二次方程的根
【题目考点】
1. 一元二次方程求根
包括求实根与虚根
2. if…else if…else语句
3. 浮点数比较
【解题思路】
首先求Δ=b2−4ac\Delta = b^2-4acΔ=b2−4ac,
- 如果Δ\DeltaΔ为0,输出两个相等的根;
- 如果Δ\DeltaΔ大于0,输出两个不等的实根,先输出较大实根,再输出较小实根。
- 如果Δ\DeltaΔ小于0,输出两个虚根。先输出虚部系数较大的虚根,再输出虚部系数较小的虚根。
【题解代码】
解法1:
#include<bits/stdc++.h>
using namespace std;
int main()
{double a, b, c;cin>>a>>b>>c;double delta = b*b - 4*a*c;if(fabs(delta) < 0.00001)//如果delta为0,输出相等的实根 printf("x1=x2=%.5f", -b/(2*a));else if(delta > 0)//输出不同的实根{double x_small = (-b-sqrt(delta))/(2*a);//x_small保存较小的实根 double x_big = (-b+sqrt(delta))/(2*a);//x_big保存较大的实根 if(x_small > x_big)//刚刚求出的x_small与x_big没有确定的大小关系,此处操作可以使得x_small一定小于x_big {//如果x_small大于x_big,那么将二者交换。 double temp = x_small;x_small = x_big;x_big = temp;}printf("x1=%.5f;x2=%.5f", x_big, x_small);//先输出较大实根,再输出较小实根 }else//输出虚根 {double shibu = -b/(2*a), xubu = sqrt(4*a*c-b*b)/(2*a);if(fabs(shibu) < 0.00001)//如果实部很接近0,将其赋值为0。如果不这样做会由于系统误差导致输出的shibu不为0. shibu = 0;printf("x1=%.5f+%.5fi;x2=%.5f-%.5fi",shibu, xubu, shibu, xubu);//实部为0也不可省略 } return 0;
}
OpenJudge NOI 1.4 20:求一元二次方程的根相关推荐
- 20:求一元二次方程的根
原题链接 总时间限制: 1000ms 内存限制: 65536kB 描述 利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4* ...
- 7-157 求一元二次方程的根 (20 分)
7-157 求一元二次方程的根 (20 分) 本题目要求一元二次方程ax2+bx+c=0的根,结果保留2位小数. 输入格式: 输入在一行中给出3个浮点系数a.b.c,中间用空格分开. 输出格式: 根据 ...
- 实验3-1 求一元二次方程的根 (20 分)
实验3-1 求一元二次方程的根 (20 分) 本题目要求一元二次方程ax^2+bx+c=0的根,结果保留2位小数. 输入格式: 输入在一行中给出3个浮点系数a.b.c,中间用空格分开. 输出格式: 根 ...
- 7-1 求一元二次方程的根 (20 分)
7-1 求一元二次方程的根 (20 分) #include "stdafx.h" #include "math.h" int _tmain(int argc, ...
- C语言小白初试 7-1 求一元二次方程的根 (20 分)
7-1 求一元二次方程的根 (20 分) 本题目要求一元二次方程的根,结果保留2位小数. 输入格式: 输入在一行中给出3个浮点系数a.b.c,中间用空格分开. 输出格式: 根据系数情况,输出不同结果: ...
- 计算概论(A)/基础编程练习1(8题)/4:求一元二次方程的根
1 #include<stdio.h> 2 #include<math.h> 3 int main() { 4 // 待解方程数目 5 int n; 6 scanf(" ...
- 例题(8.3) 求一元二次方程的根 (1051)
题目 - 例题(8.3) 求一元二次方程的根 (1051) 来源 计算概论05 描述 利用公式 x1 = (-b + sqrt(b*b-4*a*c))/(2*a) x2 = (-b - sqr ...
- c语言学习-求一元二次方程的根
求一元二次方程的根 程序流程图: 代码: #include<stdio.h> #include<math.h> void main() {float a,b,c,s,x1,x2 ...
- Python 求一元二次方程的根(包括虚根)
如图所示,求一元二次方程的根(包括虚根),代码如下: import math a = float(input()) b = float(input()) c = float(input()) delt ...
最新文章
- python22期_python学习第22期
- 拷贝构造函数的参数类型必须是引用
- 28335的CPU定时器解析
- 夺命雷公狗---DEDECMS----26dedecms面包屑导航的实现
- 【蓝桥杯官网试题 - 算法提高 】求最大值 (dp,0-1背包)
- Different Integers
- matlab2c使用c++实现matlab函数系列教程-asin函数
- sql server 跨服务器查询数据
- os.system 获取打印值_react获取触发元素的属性 e.target.dataset
- Java流(Stream)、文件(File)相关功能 ——菜鸟教程
- 黑苹果E430c, 安装过程
- MATLAB---绘制三维图形函数实例介绍
- 手机WIFI传文件到局域网服务器,iOS 设备实现wifi局域网传输文件到iphone
- 1389: 程序员PIPI II
- java jtextarea 事件_JTextArea事件处理
- 初学者怎么学习网页设计
- CSMA/CA与CSMA/CD的区别
- 解决QDialogButtonBox按钮的英文翻译问题
- 数据库的文件服务器配置,服务器数据库文件配置
- 一句代码将OpenCV的Mat对象的数据打印输出