解一元二次不等式

题目要求:写一段程序,要求输入abc和符号然后由程序运算出该一元二次不等式的解集
#include
#include
int main()
{
	float a,b,c,x1,x2,t,y,u;
	char f;
	printf("请依次输入a,b,c,中间用逗号隔开\n");
	scanf("%f,%f,%f",&a,&b,&c);
	printf("请输入符号");
	scanf("%s",&f);
	if(b*b-(a*c+a*c+a*c+a*c)>=0)
	{
	t=sqrt(b*b-(a*c+a*c+a*c+a*c));
	x1=(-b+t)/(a+a);
	x2=(-b-t)/(a+a);
	if(f=='=')
	{
		printf("结果为:x1=%.2f,x2=%.2f",x1,x2); 
	}
	if(f=='>')
	{
	if(x1>x2)
	{
		y=x1;
		u=x2;
	}
	else
	{
		y=x2;
		u=x1;
	}
	printf("x>%.2f或x<%.2f",y,u);
	}
	if(f=='<')
	{
	if(x1>x2)
	{
		y=x1;
		u=x2;
	}
	else
	{
		y=x2;
		u=x1;
	}
	printf("%.2f>x>%.2f",y,u);
	}
	}
	else
	{
		printf("错误!!\n");
	}
	
} 

好了,现在看看运行结果如何:
 
  

似乎还不错。
心得:
    这个程序的思路是首先通过提示让用户输入abc和符号,然后通过这个公式来计算出两个解X1和X2,再根据用户输入的符号写出对应的答案区间。
    在写这段代码时,一开始我想用调用函数的方式来着,可惜还不会,写来写去老是报错。无奈,只能用这个笨办法了。而关于if(b*b-(a*c+a*c+a*c+a*c)>=0)这段代码是之后加上去的,包括之后的输出“错误!!!”因为在调试的时候输入的数据都是自己随便写的,出问题时不能判断出是输入的数据错了还是代码本身出了错,所以特意加了这段以用来进行判断。而在正式使用的时候还可以更改为比如∅,(-∞,+∞)等更易于用户读取的反馈信息。
     
 
  


你可能感兴趣的:(技术博文)