ocrosoft 1015 习题1.22 求一元二次方程a*x^2 + …
2018-06-21 06:51:14来源:未知 阅读 ()
http://acm.ocrosoft.com/problem.php?id=1015
题目描述
求一元二次方程a*x2 + b*x + c = 0的根。系数a、b、c为浮点数,其值在运行时由键盘输入。须判定Δ(即三角形的判别式)的情形。
输入
有多组测试数据,每组测试数据有三个浮点数,分别为a,b,c。输入直到文件尾(!=EOF).
输出
每组测试数据输出一行。若有不同根,根按从大到小输出。相同根需输出两次。
样例输入
5 10 5
4 10 4
5.9 10 5.9
-5 -9 4
样例输出
the roots are -1.000000 and -1.000000
the roots are -0.500000 and -2.000000
delta is negative, no root.
the roots are 0.368858 and -2.168858
定义小数尽量使用double进行定义
#include <iostream> #include <stdio.h> #include <math.h> #include <iomanip> using namespace std; int main() { double a,b,c; double n; double x1,x2; while(scanf("%lf%lf%lf",&a,&b,&c)!=EOF) { n=b*b-4*a*c; x1=(-b-sqrt(n))/(2*a); x2=(-b+sqrt(n))/(2*a); cout<<setiosflags(ios::fixed)<<setprecision(6); if(n<0) cout<<"delta is negative, no root."<<endl; else if(n>=0){ if(x1>=x2) cout<<"the roots are "<<x1<<" "<<"and"<<" "<<x2<<endl; else cout<<"the roots are "<<x2<<" "<<"and"<<" "<<x1<<endl; } } return 0; }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:6.19noip模拟赛总结
下一篇:PTA之求单链表结点的阶乘和
- 洛谷P1907口算练习题 2020-03-24
- 习题2-6:排列 2019-12-30
- 致初学者(四):HDU 2044~2050 递推专项习题解 2019-09-23
- C++ Primer练习题day2 2019-08-16
- C++ Primer练习题day1 2019-08-16
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash