编写程序解一元二次方程ax^2+bx+c=0(a≠0)

高中数学题,别写的太复杂,看不懂……

第1个回答  2013-08-28
#include <stdio.h>
#include <math.h>
int main (void)
{
int a;
int b;
int c;
double delta;
double x1;
double x2;
printf("请输入a:");
scanf("%f",&a);
printf("请输入b:");
scanf("%f",&b);
printf("请输入c:");
scanf("%f",&c);
delta = b*b - 4*a*c;
if (delta > 0)
{
x1 = (-b +sqrt(delta)) / (2。0*a);
x2 = (-b -sqrt(delta)) / (2.0*a);
printf ("x1 = %f, x2 = %f\n", x1 , x2);
}
else if (delta == 0)
{
x1 = (-b +sqrt(delta)) / (2.0*a);
x2 = x1;
printf ("x1 = x2 = %f\n" , x1);
}
else
{
printf("无解\n");
}
return 0;
}
第2个回答  2013-08-28
什么程序?c语言的?
说下想法吧
先求△=b²-4ac
之后分类判断
(1)△<0,x无解;
(2)△=0,x=-b/2a;
(3)△>0,x=(-b±根号(b²-4ac))/(2a)追问

能不能写成
IF……
ELSE……
end……的形式

追答

dert=b*b-4*a*c
if (dert<0)
输出("无解\n");

else if(dert=0)
输出("唯一解为%d",-b/2a);

else
输出("有两个解,分别为(-b-根号(b²-4ac))/(2a)和(-b+根号(b²-4ac))/(2a));

不知道你用的是什么语言,不过基本思路就是这样,只是一些语句可能不一样

追问

就是数学语言……应该是这样吧……

本回答被提问者采纳
第3个回答  2013-08-28
matlab中roots([a,b,c])
相似回答