`
375809600
  • 浏览: 150607 次
  • 来自: 湖北
社区版块
存档分类
最新评论

c语言一元二次方程求解

阅读更多

最近在学c语言,这是今天动手写的一个,代码注释很详尽,这里不做过多累述

 

 

#include <stdio.h>
#include <math.h>  
#include <stdlib.h>
int main(){
	float a ;//系数a
	float b;//系数b
	float c;//系数c
	float delta;
	float x1=0;
	float x2=0;
	/*
	这里我们来分析一下
	1.原方程式   a*x*x+b*x+c=0
	 b*b-4ac>0有两个解
	 b*b-4ac==0有一个解
	
	*/
	printf("请输入一元二次函数的系数");
	scanf("%f,%f,%f",&a,&b,&c);
	delta=b*b-4*a*c;
	if (a==0)
	{
		//既是 0*x*x+b*x+c=0 -〉x=-c/b;
		x1=-c/b;
		printf("当a=0时,不为一元二次方程,只有一个值x1=%d\n",x1);
	}
	if (delta==0)
	{
		//既是 x=(b-[math.sqrt(b*b-4ac)]/2a)-〉x=(-b)/2a
		x1=-b/(2*a);
		printf("当delta=0时,只有一个值x1=%d\n",x1);
		
	}
	if (delta>0)
	{

		x1=(-b+sqrt(b*b-4*a*c))/(2*a);
		x2=(-b-sqrt(b*b-4*a*c))/(2*a);
		printf("当delta〉0时,有两个值x1=%d,x2=%d\n",x1,x2);
	}
	if (delta<0)
	{
		printf("一元二次方程无解");
	}
	system("pause");
	return 0;

}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics