用c语言求ax^2+bx+c=0方程的解
2015-09-22 19:13
309 查看
用c语言求ax^2+bx+c=0方程的解。
#include <stdio.h>
#include <math.h>
#define m 0.000001
int main()
{
float a,b,c,x,x2,n,q,p;
scanf ("%f%f%f",&a,&b,&c);
n=b*b-4*a*c;
if ((a<m)&&(a>-m))
{
x=(-c)/b;
printf("%f",x);
}
else if ((n<m)&&(n>-m))
{
x=(-b)/(2*a);
printf("%f",x);
}
else if (n>0)
{
x=((-b)+sqrt(n))/(2*a);
x2=((-b)-sqrt(n))/(2*a);
printf("%f\n%f",x,x2);
}
else
{
q=(-b)/(2*a);
p=sqrt(-n)/(2*a);
printf("%f+%fi\n",q,p);
printf("%f-%fi\n",q,p);
}
}
#include <stdio.h>
#include <math.h>
#define m 0.000001
int main()
{
float a,b,c,x,x2,n,q,p;
scanf ("%f%f%f",&a,&b,&c);
n=b*b-4*a*c;
if ((a<m)&&(a>-m))
{
x=(-c)/b;
printf("%f",x);
}
else if ((n<m)&&(n>-m))
{
x=(-b)/(2*a);
printf("%f",x);
}
else if (n>0)
{
x=((-b)+sqrt(n))/(2*a);
x2=((-b)-sqrt(n))/(2*a);
printf("%f\n%f",x,x2);
}
else
{
q=(-b)/(2*a);
p=sqrt(-n)/(2*a);
printf("%f+%fi\n",q,p);
printf("%f-%fi\n",q,p);
}
}
相关文章推荐
- C++ STL(标准模板类) 学习笔记
- C++ 如何控制浮点数的位数
- C++编写四则运算生成程序
- C++学习记录之vector容器
- C++ 长整型数据的输出
- 获取系统进程快照 c语言实现
- C/C++输入输出流总结
- 详解C++编程的多态性概念
- Visual C++ Tips: 创建 x64 Target
- 关于c++对象全局对象析构的几点记录 blog.csdn.net/yingxunren/article/details/4655479
- 解析C++编程中的继承方面的运用
- c++ <输入数字n打印n行n列的矩形>
- C语言运算符优先级 详细列表
- C语言——循环缓冲区
- C++的一些心得
- 黑马程序员——IOS学习笔记(C语言存储方式和变量作用域)
- 黑马程序员——IOS学习笔记(C语言指针)
- c++ 使用throw抛出异常
- c++map的用法
- 乘法口诀表,C语言实现