我的c 语言求解任意一元二次方程,但是不知道那里不对.
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/08/13 07:17:09
我的c 语言求解任意一元二次方程,但是不知道那里不对.
#include
#include
int main(void)
{
int a;
int b;
int c;
scanf("%d%d%d",&a,&b,&c);
doble delta;
doble x1;
doble x2;
delta = b*b - 4*a*c
if (detla > 0)
{ x1 = (-b + sqrt(delta)) / (2*a)
x2 = (-b - sqrt(delta)) / (2*a)
printf("有两个解,x1 = %f,x2 = %f\n",x1,x2);
}
else if (delta==0)
{ x1 = (-b) / (2*a)
x1 = x2
printf("只有一个解,x1 = x2 =%f\n" x1,x2);
}
else
{
printf("无解\n");
}
return 0;
}
#include
#include
int main(void)
{
int a;
int b;
int c;
scanf("%d%d%d",&a,&b,&c);
doble delta;
doble x1;
doble x2;
delta = b*b - 4*a*c
if (detla > 0)
{ x1 = (-b + sqrt(delta)) / (2*a)
x2 = (-b - sqrt(delta)) / (2*a)
printf("有两个解,x1 = %f,x2 = %f\n",x1,x2);
}
else if (delta==0)
{ x1 = (-b) / (2*a)
x1 = x2
printf("只有一个解,x1 = x2 =%f\n" x1,x2);
}
else
{
printf("无解\n");
}
return 0;
}
![我的c 语言求解任意一元二次方程,但是不知道那里不对.](/uploads/image/z/17256618-18-8.jpg?t=%E6%88%91%E7%9A%84c+%E8%AF%AD%E8%A8%80%E6%B1%82%E8%A7%A3%E4%BB%BB%E6%84%8F%E4%B8%80%E5%85%83%E4%BA%8C%E6%AC%A1%E6%96%B9%E7%A8%8B%2C%E4%BD%86%E6%98%AF%E4%B8%8D%E7%9F%A5%E9%81%93%E9%82%A3%E9%87%8C%E4%B8%8D%E5%AF%B9.)
#include
#include
int main(void)
{
int a, b, c;
double delta, x1, x2;//定义变量在程序开始之前一般定义完,你的源代码的double写成了doble
scanf("%d%d%d", &a, &b, &c);
delta = (double)b * b - 4 * a * c;//要在计算之前将整形的b转换为浮点型,不然得到的delta也是整形的,你的这条语句少了一个分号
if (delta > 0)
{
x1 = (-b + sqrt(delta)) / (2 * a);//加分号
x2 = (-b - sqrt(delta)) / (2 * a);//加分号
printf("有两个解,x1=%f, x2=%f\n", x1, x2);
}
else if (delta==0)
{
x1 = (double)(-b) /(2 * a);//强制转换,分号
x2 = x1;//分号
printf("只有一个解,x1 = x2 = %f\n", x1, x2);
}
else
{
printf("无解\n");
}
return 0;
}
这个是改正后的,修改的都做了说明,如果要运行,记得在//后面的只能在一行,那个是作为说明的标注
#include
int main(void)
{
int a, b, c;
double delta, x1, x2;//定义变量在程序开始之前一般定义完,你的源代码的double写成了doble
scanf("%d%d%d", &a, &b, &c);
delta = (double)b * b - 4 * a * c;//要在计算之前将整形的b转换为浮点型,不然得到的delta也是整形的,你的这条语句少了一个分号
if (delta > 0)
{
x1 = (-b + sqrt(delta)) / (2 * a);//加分号
x2 = (-b - sqrt(delta)) / (2 * a);//加分号
printf("有两个解,x1=%f, x2=%f\n", x1, x2);
}
else if (delta==0)
{
x1 = (double)(-b) /(2 * a);//强制转换,分号
x2 = x1;//分号
printf("只有一个解,x1 = x2 = %f\n", x1, x2);
}
else
{
printf("无解\n");
}
return 0;
}
这个是改正后的,修改的都做了说明,如果要运行,记得在//后面的只能在一行,那个是作为说明的标注