C++分支结构,求一元二次方程的根
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
-
利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4*a*c))/(2*a)求一元二次方程ax2+ bx + c =0的根,其中a不等于0。
- 输入
- 输入一行,包含三个浮点数a, b, c(它们之间以一个空格分开),分别表示方程ax2 + bx + c =0的系数。
- 输出
- 输出一行,表示方程的解。
若b2 = 4 * a * c,则两个实根相等,则输出形式为:x1=x2=...。
若b2 > 4 * a * c,则两个实根不等,则输出形式为:x1=...;x2 = ...,其中x1>x2。
若b2 < 4 * a * c,则有两个虚根,则输出:x1=实部+虚部i; x2=实部-虚部i,即x1的虚部系数大于等于x2的虚部系数,实部为0时不可省略。实部 = -b / (2*a), 虚部 = sqrt(4*a*c-b*b) / (2*a)
所有实数部分要求精确到小数点后5位,数字、符号之间没有空格。 - 样例输入
-
- 样例输入1
- 1.0 2.0 8.0
- 样例输入2
- 1 0 1
- 样例输入1
- 样例输出
-
- 样例输出1
- x1=-1.00000+2.64575i;x2=-1.00000-2.64575i
- 样例输出2
- x1=0.00000+1.00000i;x2=0.00000-1.00000i
- 1 #include<iostream>
- 2 #include<cmath>
- 3 #include<iomanip>
- 4 #include <cstdio>
- 5 using namespace std;
- 6 int main()
- 7 {
- 8 double a,b,c;
- 9 cin>>a>>b>>c;
- 10 double d=b*b-4*a*c;
- 11 double der=sqrt(d);
- 12 double x1=(-b+der)/(2*a);
- 13 double x2=(-b-der)/(2*a);
- 14 if(d==0)
- 15 {
- 16 cout<<setprecision(5)<<fixed<<"x1=x2="<<x1;
- 17 }
- 18 else if (d>0)
- 19 {
- 20 if (a>0)
- 21 {
- 22 cout << setprecision(5) << fixed << "x1=" << x1 << ";" << "x2=" << x2;
- 23 }
- 24 else
- 25 {
- 26 cout << setprecision(5) << fixed << "x2=" << x2 << ";" << "x1=" << x1;
- 27 }
- 28 }
- 29 else
- 30 {
- 31 double m, n;
- 32 double esp = pow(10, -7);
- 33 m = -b / (2 * a) + esp;
- 34 n = sqrt(-d) / (2 * a);
- 35 printf("x1=%.5lf+%.5lfi;x2=%.5lf-%.5lfi\n", m, n, m, n);
- 36 /*der = sqrt(-d);
- 37 double x3 = -b / 2.0 / a;
- 38 double x4 = der / 2.0 / a;
- 39 if (b==0)
- 40 {
- 41 x3 = 0;
- 42 }
- 43 if (a>0)
- 44 {
- 45 cout << setprecision(5) << fixed << "x1=" << x3 << "+" << x4 << "i" << ";" << "x2=" << x3 << "-" << x4 << "i" << endl;
- 46 }
- 47 else
- 48 {
- 49 cout<<setprecision(5)<< fixed<<"x1="<<x3<<"+"<<-x4<<"i"<<";"<<"x2="<<x3<<x4<<"i"<<endl;
- 50 }*/
- 51
- 52
- 53 }
- 54
- 55 return 0;
- 56 }
- 样例输出1
C++分支结构,求一元二次方程的根的更多相关文章
- OpenJudge计算概论-求一元二次方程的根【含复数根的计算、浮点数与0的大小比较】
/*====================================================================== 求一元二次方程的根 总时间限制: 1000ms 内存限 ...
- 计算概论(A)/基础编程练习1(8题)/4:求一元二次方程的根
#include<stdio.h> #include<math.h> int main() { // 待解方程数目 int n; scanf("%d", & ...
- 基于linux或windows的c/s的循环服务器求一元二次方程的根
在linux和windows上实现 c/s模式 socket循环服务器求解一元二次方程的根 ax^2+bx+c=0 根据上式,客户端发送a,b,c给服务器,返回求解的根 暂未考虑非法数据等问题 lin ...
- Openjudge-计算概论(A)-求一元二次方程的根
描述: 利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4*a*c))/(2*a)求一元二次方程ax2 + bx + c =0的根 ...
- 实验3-1 求一元二次方程的根 (20 分) 《C语言程序设计实验与习题指导(第3版)》
本题目要求一元二次方程的根,结果保留2位小数. 输入格式: 输入在一行中给出3个浮点系数a.b.c,中间用空格分开. 输出格式: 根据系数情况,输出不同结果: 1)如果方程有两个不相等的实数根,则每行 ...
- 求一元二次方程的根【double型的0输出%.2lf为-0.00】
#include <bits/stdc++.h> using namespace std; #define LL long long #define eps 1e-6 int main() ...
- 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为浮点数,其值在运行时由键盘输入 ...
- 用c#求一元二次方程
题目:编一个程序,输入a .b.c 的值,求出一元二次方程a*x*x+b*x+c=0的二个实数根. 我的思路: 我们都知道数学中求一元二次方程有很多方法:直接开方法.配方法.公式法.分解因式法等等,在 ...
- 【Python实践-1】求一元二次方程的两个解
知识点: import sys, sys模块包含了与Python解释器和它的环境有关的函数. “sys”是“system”的缩写.sys.exit() 中途退出程序, (注:0是正常退出,其他为不正常 ...
随机推荐
- leo101
tags: 贪心 date: 2019-4-4 jag2017autumnJ Farm Village 题面 题目链接 翻译 数轴上有 n 个村庄,每个村庄可以生产两个单位的粮食.在每个村庄生产一单位 ...
- Java的Arrays.sort()方法到底用的什么排序算法
暂时网上看过很多JDK8中Arrays.sort的底层原理,有些说是插入排序,有些说是归并排序,也有说大于域值用计数排序法,否则就使用插入排序...其实不全对.让我们分析个究竟: 1 // Use Q ...
- 转载-Java匿名内部类
作者: chenssy 出处: http://www.cnblogs.com/chenssy/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接, ...
- 使用docker 部署codis
使用docker 部署codis 原文地址:https://www.jianshu.com/p/85e72ae6fec3 codis的架构图 1.zookeeeper,用于存放统一配置信息和集群状态 ...
- SQL SERVER数据库常用命令
创建数据库: 命令:create database 数据库名: 示例:create database student: 删除数据库: 命令:drop database 数据库名: 示例:drop da ...
- 【SpringCloud】03.微服务的设计原则
微服务的设计原则: 一.AKF拆分原则 业界对于可扩展的系统架构设计有一个朴素的理念:通过加机器就可以解决容量和可用性问题(如果一台不行就两台). Y轴(功能)--关注应用中功能划分,基于不同的业务拆 ...
- 我叫Mongo,干了「查询终结篇」,值得您拥有
这是mongo第三篇"查终结篇",后续会连续更新5篇 mongodb的文章总结上会有一系列的文章,顺序是先学会怎么用,在学会怎么用好,戒急戒躁,循序渐进,跟着我一起来探索交流. 通 ...
- laravel 多表字段关联查询
public function items() { return $this->belongsToMany('App\Model\Cz\CzCourse', 'cz_picture_course ...
- KepServer与S7-1200PLC之间的OPC通信配置
对于学习上位机开发,有一种通信方式是必须要了解的,那就是OPC是OLE for Process Control的简称,然而随着技术的不断发展,人们开始对它有了新的定义,比如Open Platform ...
- 用system v消息队列实现回射客户/服务器程序
客户端程序 #include<unistd.h> #include<sys/types.h> #include<sys/socket.h> #include< ...