解一元二次方程的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 ...
随机推荐
- Web前端经典面试试题(一)
本篇收录了一些面试中经常会遇到的经典面试题,并且都给出了我在网上收集的答案.眼看新的一年马上就要开始了,相信很多的前端开发者会有一些跳槽的悸动,通过对本篇知识的整理以及经验的总结,希望能帮到更多的前端 ...
- String中的intern方法
上一篇你真的会用String吗(3)-关于字符串拼接中我们提到了String.intern()方法,本篇我们就来详细的看下这个方法是干嘛的.首先来看下jdk8中这个方法的注释: When the in ...
- orm查询优化 MTV和MVC模型 字段的chioces参数 Ajax
目录 一.ORM查询优化 1. all()查询 2. only()/defer()方法 (1)only()方法 (2)defer()方法 3. select_related()/prefetch_re ...
- 开发一个简单 ef+dapper 数据操作
新建一个net core 2项目
- 在linux安装php
去www.php.net找下载最新的版本 http://www.php.net/downloads.php 下载解压 # wget http://cn2.php.net/distributions/ ...
- C# 写日志的方法
public void WriteLog(string msg) { string filePath = AppDomain.CurrentDomain.BaseD ...
- Javascript兼容各浏览器的日期转换
var date = new Date(Date.parse("2015-09-05".replace(/-/g,"/")));'2015-09-05'是无法被 ...
- BZOJ 1095: [ZJOI2007]Hide 捉迷藏 动态点分治+堆
写了7k多,可以说是一己之力切掉了这道毒瘤题~ 开 $3$ 种堆,分别维护每个子树最大深度,以及每个节点在点分树中对父亲的贡献,和全局的最优解. 由于需要支持堆的删除,所以写起来特别恶心+麻烦. 细节 ...
- js模拟24小时的倒计时效果
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- sqli-labs(42)
0x01 喔? 熟悉的界面? 注册一下 但是好像不行了 那我们只有 嘻嘻看看页面了 也是以失败告终的 那我们该怎么办 我们来看看源码 我们看见login的页面未对 password进行任何的过滤 ...