新手。求一元二次方程的根。运行不出来,求帮助。

xjj哈喽楼 2013-04-13 05:33:41
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,x1,x2,temp1,temp;
scanf("%lf %lf %lf",&a,&b,&c);
if(a==0)
{
x1=-c/b;
printf("不是一元二次方程\n");
printf("x1=%lf\n",x1);
}
else
{
temp=(b*b-4*a*c);
if(temp=0)
{
printf("该方程有两个相等的根!\n");
x1=-b/(2*a);
x2=x1;
printf("x1=%lf,x2=%lf",x1,x2);
}
else if(temp>0)
{
printf("该方程有两个人不等的根!\n");
temp1=sqrt(temp);
x1=(-b-temp1)/2/a;
x2=(-b+temp1)/2/a;
printf("x1=%lf,x2=%lf",x1,x2);
}
else if(temp<0)
{
printf("该方程在实数范围内无解");
}
return 0;
}
}
运行不出来,求大神改正。备注错误的地方,谢谢。
...全文
73 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjj哈喽楼 2013-04-13
  • 打赏
  • 举报
回复
谢了。。无语了。
hugett 2013-04-13
  • 打赏
  • 举报
回复

#include<stdio.h>
#include<math.h>
int main()
{
	double a,b,c,x1,x2,temp1,temp;
	scanf("%lf %lf %lf",&a,&b,&c);
	if(a==0)
	{
		x1=-c/b;
		printf("不是一元二次方程\n");
		printf("x1=%lf\n",x1);
	}
	else
	{ 
		temp=(b*b-4*a*c);
		if(temp==0)//判断相等要用==, 不是=
		{
			printf("该方程有两个相等的根!\n");
			x1=-b/(2*a);
			x2=x1;
			printf("x1=%lf,x2=%lf",x1,x2);
		}else if(temp>0)
		{
			printf("该方程有两个人不等的根!\n");
			temp1=sqrt(temp);
			x1=(-b-temp1)/2/a;
			x2=(-b+temp1)/2/a;
			printf("x1=%lf,x2=%lf",x1,x2);
		}else if(temp<0)
		{
			printf("该方程在实数范围内无解");
		}
	}
	return 0;
}

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧