菜鸡编译的一元二次方程报错。
# include <stdio.h>int main(void)
{
//把3个系数保存在电脑中
int a = 1; //=不表示相等,表示赋值
int b = 2;
int c = 3;
double delta; //delta存放的是 b*b - 4*a*c
double x1;
double x2;
delta = b*b - 4*a*c;
if (delta > 0)
{
x1 = (-b + sqrt(delta)) / (2*a);
x2 = (-b - sqrt(delta)) / (2*a);
printf("该一元二次方程有2个解,x1 = %f, x2 = %f\n", x1, x2);
}
else if (delta = 0)
{
x1 = (-b) / (2*a);
x2 = x1; //右边赋给左边
printf("该一元二次方程有1个解, x1 = x2 = %f\n", x1, x2);
}
else
{
printf("无解");
}
return 0;
}









程序代码:
,sqrt是数学开平方函数,要包涵头文件math.h,如果用到其他数学函数同理;printf标准输出函数,参数和后面的变量一一对应哦
,另外有个建议,你的系数a,b,c定义的整型变量,△定义的是双精度浮点型double,△=b*b-4ac,这里的计算结果会出现强制数据类型转换,这个地方int转换为double用起来没有问题,但要注意的如果是double转换为int型就会舍去小数点后的,这样数据精度就会出问题了哦,也许在其他地方就会造成数据错误的。
