原题来自菜鸟教程
C++ 实例 - 求一元二次方程的根

实现方法相当简单 就是最基础的C语言程序
以下是菜鸟教程给的答案——

#include <iostream>
#include <cmath>
using namespace std;int main() {float a, b, c, x1, x2, discriminant, realPart, imaginaryPart;cout << "输入 a, b 和 c: ";cin >> a >> b >> c;discriminant = b*b - 4*a*c;if (discriminant > 0) {x1 = (-b + sqrt(discriminant)) / (2*a);x2 = (-b - sqrt(discriminant)) / (2*a);cout << "Roots are real and different." << endl;cout << "x1 = " << x1 << endl;cout << "x2 = " << x2 << endl;}else if (discriminant == 0) {cout << "实根相同:" << endl;x1 = (-b + sqrt(discriminant)) / (2*a);cout << "x1 = x2 =" << x1 << endl;}else {realPart = -b/(2*a);imaginaryPart =sqrt(-discriminant)/(2*a);cout << "实根不同:"  << endl;cout << "x1 = " << realPart << "+" << imaginaryPart << "i" << endl;cout << "x2 = " << realPart << "-" << imaginaryPart << "i" << endl;}return 0;
}

嗯 自己也很快就实现了这个功能
但是在进行测试的时候



啊三种情况好烦啊 还得一遍遍地编译运行(明明这样更快啊喂!
有没有啥方法可以一遍试完这三种情况呢。

加个计数器吧
嗯 perfect~

#include<iostream>
#include<cmath>
using namespace std;int main()
{int count,counta,countb,countc;float det,x1,x2,a,b,c;float realPart,imaginaryPart;while(count != 1){cout << "please input the parameter:" << endl;cin >> a >> b >> c;det = b*b - 4*a*c;if(det > 0){cout << "the roots are real and different" << endl;x1 = (-b + sqrt(det))/(2*a);x2 = (-b - sqrt(det))/(2*a);cout << "x1 = " << x1 << endl;cout << "x2 = " << x2 << endl;counta = 1;}else if(det == 0){cout << "the root is equal" << endl;x1 = x2 = -b/(2*a);cout << "x1 = x2 =  "<< x1 << endl;countb = 1;}
//  det<0 两个根是复数(跟高中讲的不太一样嗷) 两个复数根为共轭复根 else {cout << "一对共轭复根出现辽" << endl;realPart = -b/(2*a);imaginaryPart = ( -sqrt(det) ) / (2*a);if (imaginaryPart){//              复数中的b不存在的情况 cout << "x1 = " << realPart << endl;cout << "x2 = " << realPart << endl;countc = 1;}else{cout << "x1 = " << realPart << '+' << imaginaryPart << 'i' << endl;cout << "x2 = " << realPart << '-' << imaginaryPart << 'i' << endl;countc = 1;//计数器 }}if(counta==1 && countb==1 && countc==1){count = 1;}}cout << "duang----------------------------------duang" << endl;cout << "已经试过了det>0 det=0 det<0 三种情况咯~" << endl;}

终于可以愉快地一遍测试完成了呢。。
(工作量貌似增加了的亚子

C++编程练习 计算一元二次方程组解判断是否测试过三种情况相关推荐

  1. 【C语言】计算一元二次方程的解

    计算一元二次方程的解 #include<stdio.h> #include<math.h> void main() {float a,b,c,x1,x2;printf(&quo ...

  2. python计算一元二次方程a=2.b=3c=1_Python1日一练03-一元二次方程的计算

    Python一日一练03----一元二次方程的计算 要求 由用户随意给定一元二次方程系数a.b.c,计算一元二次方程的解 源码 import cmath #包含复数运算 import math imp ...

  3. 3-4 3.4编程计算一元二次方程的根

    3-4 3.4编程计算一元二次方程的根 3.4. A quadratic equation is an equation that either has the from or an equation ...

  4. 第二十四讲编程项目 求函数的值 油量监控 一元二次方程全解等

    任务和代码: [项目1:分段函数求值] 从键盘输入x的值(要求为实型),根据公式1计算并输出x和y的值. /* *Copyright (c) 2016, CSDN学院 *All rights rese ...

  5. 2021.11.17 关于一元二次方程组求根

    题目:定义一个名为equation的函数,实现求解一元二次方程组(标准形式)的根.equation接收四个参数,第一个参数是二次项的系数(a)第二个参数是一次项的系数(b)第三个参数是常数项(c)第四 ...

  6. 【C语言练习】计算一元二次方程

    题目描述: 从键盘输入a, b, c的值,编程计算并输出一元二次方程ax2 + bx + c = 0的根,当a = 0时,输出"Not quadratic equation",当a ...

  7. 计算一元二次方程-c++

    题目描述 从键盘输入a, b, c的值,编程计算并输出一元二次方程ax2 + bx + c = 0的根,当a = 0时,输出"Not quadratic equation",当a ...

  8. 用java计算一元二次方程

    public class TestMath {public static void main(String[] args) {//一元二次方程的解法System.out.println("计 ...

  9. C语言程序设计(数据结构)——计算一元二次方程

    编写一个C语言程序,计算一元二次方程ax^2+bx+c=0的实数根.要求从键盘输入a,b和c,然后再输出解方程的结果. 代码如下: #include<stdio.h> #include&l ...

最新文章

  1. 某程序员leader吐槽自己的工作就是合并周报!撕逼扯淡!跪舔领导!月薪五万却非常焦虑!...
  2. 推荐8个非常有逼格的实用软件,让你的办公更高效
  3. DELL Poweredge服务器安装操作系统指南 补全之磁盘驱动制作
  4. JavaWeb-综合案例(用户信息)-学习笔记01【列表查询】
  5. 【李宏毅机器学习】backpropagation 反向传播(p13) 学习笔记
  6. There is 和 There are的使用_28
  7. 【Excel】如何用SUMIF实现SUMIFS的功能
  8. c语言银行家算法模拟程序,银行家算法C语言模拟程序
  9. java链表的用法_数据结构(java语言描述)链表的使用
  10. 课时46:魔法方法:描述符(property的原理)
  11. 软件设计是怎样炼成的(6)——打造系统的底蕴(数据库设计)(下篇)
  12. python xlwings api_python xlwings API接口之NumberFormat用法
  13. OPC服务器简介和入门介绍
  14. 利用Python3将EXCEL中某列特殊字符之前的汉字取首字母,特殊字符之后的汉字取全拼,然后用下划线“_”相连,写入下一列...
  15. 2021年机器人的工作量相当于全世界430万员工的工作
  16. 驱动学习(十)poll机制
  17. 基于ListView的滑动删除、添加、修改
  18. hander机制深入理解
  19. Chains (链 )
  20. 空间光调制器(SLM)属于反射型模拟调制矩阵液晶模块

热门文章

  1. 北京数字认证bjca证书垃圾,报错:错误代码 EC999
  2. 自适应模糊神经网络的设计
  3. 计算机专业去支教学到什么,支教的收获及感悟4篇_大学生支教感想
  4. 【实验四 循环结构】7-5 sdut-C语言实验- 做乘法
  5. 网上书店黑盒测试_网上书店管理系统
  6. 科幻的意义---《超新星纪元》后记
  7. 卡巴斯基实验室被独立研究机构评选为领导者
  8. 计算机端口怎么配置波特率,PLC波特率设置
  9. 基于html5的在线教育平台的设计与实现,网络在线教学系统设计与实现.doc
  10. 计算机excel实发工资高中低,EXCEL表格中计算实发工资的公式