Problem B 一元二次方程类
Description
定义一个表示一元二次方程的类Equation,该类至少具有以下3个数据成员:a、b和c,用于表示方程“a*x*x + b*x +c = 0”。同时,该类还至少具有以下两个成员函数:
1. void solve():用于求方程的根。
2. void printRoot():用于输出方程的根。
设定:
1. 所有输入的a、b、c所生成的方程必定有个2个不同的实根。
2. 输出的两个根按照从大到小的顺序输出,两个根之间用一个空格隔开,而且每个根必须且仅能保留2位小数,即使小数部分为0。
3. 请根据样例和给出的main()函数定义相应的构造函数。
Input
输入有若干行,每行有3个实数,分别为方程“a*x*x + b*x + c = 0”中的系数a、b、c。
Output
按照题目要求中的设定条件2输出方程的根。
Sample Input
Sample Output
HINT
可以使用fixed和setprecision()来实现输出固定小数位数的数值。
Append Code
int
main()
{
double
a, b, c;
while
(cin>>a>>b>>c)
{
Equation equ(a,b,c);
equ.solve();
equ.printRoot();
}
return
0;
}
#include <iomanip>
#include <cmath>
using namespace std;
class Equation
{
private:
double a;
double b;
double c;
public:
Equation(double x,double y,double z)
{
a=x;
b=y;
c=z;
}
double solve()
{
double s,x1,x2;
s=sqrt(b*b-4*a*c);
return s;
}
void printRoot()
{
double s2,x1,x2;
s2=solve();
x1=(-b+s2)/(2*a);
x2=(-b-s2)/(2*a);
cout<<setiosflags(ios::fixed)<<setprecision(2)<<x1<<" "<<x2<<endl;
}
};
int main()
{
double a, b, c;
while (cin>>a>>b>>c)
{
Equation equ(a,b,c);
equ.solve();
equ.printRoot();
}
return 0;
}
Problem B 一元二次方程类的更多相关文章
- if语句之求一元二次方程
思路:1.首先明白什么叫做一元二次方程,当a不等于0的时候,此方程是一元二次方程 2.根据公式derta=b*b-4*a*c来判断根的情况 ①derta>0时,方程有两个不相等的实根 ②dert ...
- ocrosoft 1015 习题1.22 求一元二次方程a*x^2 + b*x + c = 0的根
http://acm.ocrosoft.com/problem.php?id=1015 题目描述 求一元二次方程a*x2 + b*x + c = 0的根.系数a.b.c为浮点数,其值在运行时由键盘输入 ...
- HDU 2092 (将表达式变成一元二次方程形式)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2092 整数解 Time Limit: 1000/1000 MS (Java/Others) Me ...
- C语言程序设计100例之(2):一元二次方程
例2 一元二次方程 [题目描述] 输入系数a.b和c,求方程ax2+bx+c=0的根. [输入格式] 输入数据有多组.每组数据包括三个系数a,b,c.当a=0时,输入数据结束. [输出格式] 输出 ...
- 1205: 求一元二次方程的实数根(C)
一.题目 acm.wust.edu.cn/problem.php?id=1205&soj=0 二.分析 一元二次方程有三个系数a.b.c,两个根x1.x2,以及d(德尔塔): a.b.c均为实 ...
- java练习题:解一元二次方程、判断闰年、判断标准身材、三个数取最大值
1.解一元二次方程 注:求根公式为(-b+根号德尔塔)/2a,(-b-根号德尔塔)/2a Scanner sc=new Scanner(System.in); System.out.println(& ...
- Python数学运算的一个小算法(求一元二次方程的实根)
请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程:ax² + bx + c = 0的两个解. #!/usr/bin/env python # -*- coding: ...
- 方程ax2+bx+c=0;一元二次方程。求根
<body>方程ax2+bx+c=0;一元二次方程.求根请输入a:<input type="number" id="a"/><br ...
- 求一元二次方程ax^2+bx+c=0的解
Console.WriteLine("求解方程ax^2+bx+c=0的解."); Console.WriteLine("请分别输入a,b,c的值(注意每输入一个值按一下回 ...
随机推荐
- Oracl 12c (课本)
一.安装和部署:https://www.cnblogs.com/-xuan/p/10211387.html 二. (1)体系结构 Oracle体系结构 实例:实例是后台进程和内存的集合 数据库:数据库 ...
- 1.numpy_overview
官网文档:https://www.numpy.org.cn/ Numpy 简介 导入numpy Numpy是Python的一个很重要的第三方库,很多其他科学计算的第三方库都是以Numpy为基础建立的. ...
- Luffy之前端项目部署搭建
1. 搭建前端项目 1.1 创建项目目录 cd 项目目录 vue init webpack lufei 根据需要在生成项目时,我们选择对应的选项, 效果: 根据上面的提示,我们已经把vue项目构建好了 ...
- python基础之 025 模块加载与import的使用
内容梗概: 1. 模块 2. import 3. from xxx import xxx 1.模块定义:模块就是一个包含了python定义和声明的文件,文件名就是模块的名字加上.py后缀.目前写的所有 ...
- python记录_day04(补充)
列表删除 切片删除 del lis[1:3] # 删除索引是1,2的元素 修改 索引切片修改 # 修改 lst = ["太白", "太", "五&q ...
- 【PowerDesigner】【1】简单介绍
正文: 创建表格 File→New Model→(Model types; Physical Data Model; Physical Diagram)Model name:名称:DBMS:数据库类型 ...
- 使用LVM方式安装Ubuntu 16.04
--- By 小甘丶 注: 这里只讲解如何配置LVM,其他不再陈述! 这个方法,通用的!只要操作系统支持LVM即可!(个人推测,尚未证实) 配置好虚拟机后,开始安装,先进入Ubuntu使用界面,对磁盘 ...
- js事件流 事件捕获 及时间冒泡详解
Javascript与HTML之间的交互是通过事件实现. 一.事件流 事件,是文档或浏览器窗口中发生的一些特定的交互瞬间.事件流,描述的是页面中接受事件的顺序.IE9,chrome,Firefox,O ...
- poj-2514-模拟
http://poj.org/problem?id=2514 Ridiculous Addition Time Limit: 1000MS Memory Limit: 65536K Total S ...
- Java 8 forEach
1. forEach and Map 1.1 通常这样遍历一个Map Map<String, Integer> items = new HashMap<>(); items.p ...