c语言解一元二次方程代码
1. 求一元二次方程根的c语言源代码
#include "stdio.h"
#include "math.h"
double x1,x2,p;
float file1(float a,float b)
{
x1=(-b+sqrt(p))/2*a;
x2=(-b-sqrt(p))/2*a;
return 0;
}
float file2(float a,float b)
{
x1=x2=(-b+sqrt(p))/2*a;
return 0;
}
main()
{
float a,b,c;
scanf("%f%f%f",&a,&b,&c);
p=b*b-4*a*c;
printf("方程是:%.3f*x*x+%.3f*x+%.3f=0\n",a,b,c);
if(p>0)
{
file1(a,b);
printf("X1=%f\tX2=%f\n",x1,x2);
}
else if(p==0)
{
file2(a,b);
printf("X1=%f\tX2=%f\n",x1,x2);
}
else printf("方程无解");
}
2. c语言编写一元2次方程。
程序想法没错,但设计的时候有点失误。
void
main()
{
float
a=0,b=0,c=0,d=0,x1=0,x2=0,e=0;/*定义变量*/
printf("axe2+bx+c=0,(a,b,c):\n");/*提示输入3个数*/
scanf("%f,%f,%f",&a,&b,&c);/*输入的时候用float型
*/
e=sqrt(d);/*根号d
*/
x1=(-b+e)/(2*a);/*计算方程,公式有点不点,逻辑*/
x2=(-b-e)/(2*a);/*计算方程*/
printf("\n
positive:\n
x1=%f,\n
negative:\nx2=%f",x1,x2);/*输出x1
x2,输出的时候也要用float型*/
}
else
printf("equation");/*方程无解*/
getch();
}
//经修改,可以正常运行,
还有建议下,你就在定义变量的时候不要一大串一起定义类型,
有时候变量的类型是不无法隐型转换的,就会出错。
就像程序里面的,开根号又不一定都开出个整数,大多都是带小数的,就应该定义成float型,
最后的解也会直接化成带小数的,要是你用long(长整型,也是整型的一种),
那小数点后面就将被程序自动省略,那问题可就大了,呵呵,。
还在做为printf输出的时候,要给点提示,不然人家也不知道,这a,b,c是干嘛用的。
3. 一元二次方程求根C语言代码
#include "math.h"
如:9的平方根的代码:sqrt (9)值是:3
你的代码中,m定义的是整型变量。而它的赋值符右边是单精度运算。
4. C语言编写一个求一元二次方程的实根的程序,该怎么写
步骤:
打开visual C++ 6.0-文件-新建-文件-C++ Source File
2.
定义变量:
#include <stdio.h>
#include <math.h>
void main()
{
double a,b,c; /*定义系数变量*/
double x1,x2,p; /*定义根变量和表达式的变量值*/
5. c语言一元二次方程编程是怎么样的
c语言一元二次方程编程是#include<iostream> 。#include<cmath>。usingnamespacestd。intmain()。{floata,b,c;floatx1,x2; cin>a>>b>>c;floatdlt=b*b-4*a*c;if(dlt>=0){x1=-b/2/a+sqrt(dlt)。/2/ax2=-b/2/a-sqrt(dlt)/2/a。
形如x=p或(nx+m)=p(p≥0)的一元二次方程可采用直接开平方的方法解一元二次方程.如果方程化成x²=p的形式,那么可得x=±p;(x²=p,x=±根号p)如果方程能化成(nx+m)=p(p≥0)的形式,那么nx+m=±p。
简洁的语言:
C语言包含的各种控制语句仅有9种,关键字也只有32个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。
实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
提供的控制语句具有结构化特征,如for语句、if...else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。
6. C语言编写一个求一元二次方程的实根的程序。
步骤:
打开visual C++ 6.0-文件-新建-文件-C++ Source File
2.
定义变量:
#include <stdio.h>
#include <math.h>
void main()
{
double a,b,c; /*定义系数变量*/
double x1,x2,p; /*定义根变量和表达式的变量值*/
7. 求解一元二次方程的解的c语言程序
#include<stdio.h>
#include<math.h>
int main()
{ double a,b,c,d;
scanf("%lf%lf%lf",&a,&b,&c);
d=b*b-4*a*c;
if(d<0)
printf("方程没有实数根! ");
else if(d==0)
{ printf("方程有两个相等的实数根: ");
printf("x1=x2=%g ",-b/(2*a));
}
else
{ printf("方程有两个不相等的实数根: ");
printf("x1=%g x2=%g ",(-b-sqrt(d))/(2*a),(-b+sqrt(d))/(2*a));
}
return 0;
}
8. 怎样用C语言编一个解一元二次方程的程序
这个只能计算已经化简成aX^2+bX+c=0的一元二次方程
intfun(doublea,doubleb,doublec,double*x1,double*x2)//由于方程既可能无解也可能有两个解,所以不能直接返回X的值
{
doublep=b*b-4*a*c;//计算Δ
if(p<0)
{
return0;//方程无解,返回0
}
p=√p//求Δ的平方根
*x1=……//用求根公式计算X1
*x2=……//用求根公式计算X2
return1;//方程有解,返回1
}
就这些了,求根公式和求平方根函数我忘了,你自己查一下。头文件要加一个<math.h>。
9. C语言,求一元二次方程的解
对于如下的一元二次方程:
ax*x+bx+c=0
设计C语言程序,输入一元二次方程的三个系数a、b、c,求解出该方程的两个根,并且允许用户在程序中多次输入不同的系数,以求解不同的一元二次方程的解。
编程思路分析:
对于该方程,令delta=b^2-4*a*c,从数学的角度来讲,我们需要根据delta的值来判断该方程的根情况:
当delta>=0时,其两个根为实数解,分别为(-b+sqrt(delta))/(2*a)和(-b-sqrt(delta))/(2*a);
当delta<0时,其两个根为复数解,实部皆为-b/(2*a),虚部分别为sqrt(-delta)/(2*a)和-sqrt(-delta)/(2*a)。
其中,sqrt(delta)代表对delta作开根号运算。
在代码设计中,可定义一个结构体Complex存储该方程的根,在该结构体中包括实部和虚部两个变
在程序中,定义两个Complex类型的根x1和x2,当delta>=0时,两个根的虚部为0,否则,分别求解两个根的虚部值。
具体编程如下:
#include"stdio.h"
#include"math.h"
/*求一元二次方程ax*x+bx+c=0的解*/
main()
{floata,b,c,x1,x2,d;
printf("请输入a:");
scanf("%f",&a);
printf("请输入b:");
scanf("%f",&b);
printf("请输入c:");
scanf("%f",&c);
d=b*b-4*a*c;if(d<0)
printf("方程没有实数解。
");
if(d==0){x1=(-b)/(2*a);
printf("x1=%f
",x1);}
if(d>0){x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%f,x2=%f
",x1,x2);}}
请输入a:12
请输入b:34
请输入c:4
x1=-0.122985,x2=-2.710348
Pressanykeytocontinue
为迭代序列。
10. 用C语言编写求一元二次方程根的程序
用C语言编写求一元二次方程根的程序,条件判断的充分,步骤如下:
void main()
{
float a,b,c,delta;
scanf("%f%f%f",&a,&b,&c);
if(a!=0)
{
delta=b*b-4*a*c;
if(delta==0)
printf("x1=x2=%7.2f",-b/(2*a));
else if(delta>0)
{
printf("x1=%7.2f",(-b+sqrt(delta))/(2*a));
printf("x2=%7.2f",(-b-sqrt(delta))/(2*a));
}
else
{
printf("x1=%7.2f+i%7.2f",-b/(2*a),sqrt(-delta)/(2*a));
printf("x2=%7.2f-i%7.2f",-b/(2*a),sqrt(-delta)/(2*a));
}
}
else if(b!=0)
printf("x=%7.2f",-c/b);
else if(c==0)
printf("0=0,x为任意解
");
else
printf("%f=0,error!",c);
}