解一元二次方程的C++实现
一元二次方程的根的情况分为实根与虚根两种,代码如下
#include<iostream>
#include<cmath>
using namespace std; float *solve_equ(float, float, float);//a, b, c
int main()
{
float a, b, c;
cout << "enter a, b, c : " << endl;
cin >> a >> b>>c;
float *p = solve_equ(a, b, c);
if (*p == )
{
cout << "x1= " << *(p + ) << endl;
cout << "x2= " << *(p + ) << endl;
}
else if (*p = )
{
cout << "x1= " << *(p + ) <<"+"<< *(p + ) << 'i' << endl;
cout << "x2= " << *(p + ) << *(p + ) << 'i' << endl;
}
else cout << "False!\n"; system("pause");
return ;
}
float *solve_equ(float a, float b, float c)
{
float delta = b * b - * a*c;
float x1, x2, v1, v2, r; //v stands for virtual part; r stands for real part
float *t;
if (delta >= )
{
int flag=; //to tell the different kinds of solutions;
x1 = float(-b + sqrt(delta)) / float( * a);
x2 = float((-b - sqrt(delta))) / float(( * a));
t = (float *)malloc(sizeof(float) * );
*t = flag;
*(t+) = x1;
*(t+) = x2;
return t;
}
else
{
int flag=;
r = float(-b) / float( * a);
v1 = float(sqrt(-delta)) / float( * a);
v2 = -v1;
t = (float *)malloc(sizeof(float) * );
*t = flag;
*(t+) = r;
*(t+) = v1;
*(t+) = v2;
return t;
}
}
解一元二次方程的C++实现的更多相关文章
- java练习题:解一元二次方程、判断闰年、判断标准身材、三个数取最大值
1.解一元二次方程 注:求根公式为(-b+根号德尔塔)/2a,(-b-根号德尔塔)/2a Scanner sc=new Scanner(System.in); System.out.println(& ...
- C语言写解一元二次方程程序心得
前言:在网上看到不少解一元二次方程的小程序,在使用时总得出一大堆小数,感觉很不爽,遂自己重新写了一遍. 首先,先回忆一下一元二次方程的求根公式: 分别读取二次项.一次项和常数项系数并且求出delta ...
- 【Java例题】2.8 解一元二次方程
8.解一元二次方程. 输入一元二次方程的a,b,c三个系数,解一元二次方程 ax^2+bx+c=0,输出两个根 package study; import java.util.Scanner; pub ...
- c语言解一元二次方程
C语言解一元二次方程,输入系数a,b,c; #include <stdio.h> #include <math.h> int main(int argc, char *argv ...
- 用c++解一元二次方程
解方程 github项目地址 这两天得知初二的表妹学了一元二次方程,听说还不会解,我就想着试试用C语言编写解方程. 一元二次方程 用公式法 这种方法效果很好: #include"funct. ...
- if语句解一元二次方程~
#include<stdio.h>#include<math.h> void main(){ double a,b,c,x1,x2; printf("请输入a&q ...
- 利用离散 Fourier 变换解一元二次方程
设二次方程$$x^2+bx+c=0$$的两个根分别为 $x_1,x_2$.则$$(x-x_1)(x-x_2)=x^2+bx+c.$$因此$$\begin{cases} x_1+x_2=-b\\x_1 ...
- if else练习 (解一元二次方程)
public class cccc { /** * @param args */ public static void main(String[] args) { int a=10,b=11,c=12 ...
- HDU 2298(纯物理加解一元二次方程)
Toxophily Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
随机推荐
- PHP---pdo和mongodb的操作使用
<?php $pdo = new PDO("mysql:host=127.0.0.1;dbname=testdb","root","123456 ...
- python字典的setdefault的妙用
现在有一个员工字典,类似这样的结构 staff_dic = {"name":"灭霸", "age": 10000, "hobbie ...
- TextEdit不能空验证设置
在工具箱中找到dxValidationProvider控件拖拉到界面上,添加代码 ConditionValidationRule notEmptyValidationRule = new Condit ...
- Spring整合MongoDB(转)
1.认识Spring Data MongoDB 之前还的确不知道Spring连集成Nosql的东西都实现了,还以为自己又要手动封装一个操作MongoDB的API呢,结果就发现了Spring Data ...
- 字符串类QString
采用Unicode编码,所以一个QChar占用两个字节使用隐式共享技术来节省内存和减少不必要的数据拷贝跨平台使用,不用考虑字符串的平台兼容性QString直接支持字符串和数字之间的相互转换QStrin ...
- qt5--QPainter绘图
需要 #include <QPainter> #include "win.h" #include "ui_win.h" #include <Q ...
- [HG]子树问题 题解
前言 模拟赛赛时SubtaskR3没开long long丢了20分. 题意简述 题目描述 对于一棵有根树(设其节点数为 \(n\) ,则节点编号从 \(1\) 至 \(n\) ),如果它满足所有非根节 ...
- Scrapy学习(一)、Scrapy框架和数据流
Scrapy是用python写的爬虫框架,架构图如下: 它可以分为如下七个部分: 1.Scrapy Engine:引擎,负责控制数据流在系统的所有组件中流动,并在相应动作发生时触发时间. 2.Sche ...
- Win10上安装Awvs 12原版程序和完美破解补丁详细步骤
环境: Win10 Awvs12安装包 链接:https://pan.baidu.com/s/1FIwYHIEKfLf4XAyeXfhVnA 提取码:6sa8 复制这段内容后打开百度网盘手机App,操 ...
- hive 分组排序函数 row_number() over(partition by " " order by " "desc
语法:row_number() over (partition by 字段a order by 计算项b desc ) rank --这里rank是别名 partition by:类似hive的建表, ...