根据郝斌C语言视频学的解简单一元二次方程的代码总是敲错,求大神帮忙看看
发布网友
发布时间:2022-04-29 16:44
我来回答
共5个回答
热心网友
时间:2023-10-20 07:38
# include <stdio.h>
# include <math.h>
int main (void)
{
int a = 1;
int b = 2;
int c = 2;
double x1;
double x2;
double delta;
delta = ( b*b - 4*a*c);
if (delta>0)
{
x1= ( -b + sqrt(delta) ) / (2*a);
x2= ( -b - sqrt(delta) ) / (2*a); //delta写错了
printf ("此函数有两个解,x1=%f,x2 = %f",x1,x2 ); //浮点数用%f
}
else if (delta==0)
{
x1 = (-b)/(2*a);
x2 = x1;
printf("此函数有唯一解,x1 = %f",x1,x2); //浮点数用%f
}
if ( delta<0)
{
printf("此函数无解");
}
return 0;
}
热心网友
时间:2023-10-20 07:39
把x2= ( -b- sqrt(detla ) ) / ( 2*a);改成x2= ( -b- sqrt(delta ) ) / ( 2*a);。
把printf ("此函数有两个解,x1=%d,x2 = %d",x1,x2 );改成printf ("此函数有两个解,x1=%g,x2 = %g\n",x1,x2 );。
把printf("此函数有唯一解,x1 = %d",x1,x2);改成printf("此函数有唯一解,x1 = %g\n",x1);。
最好把printf("此函数无解");改成printf("此函数无解\n");。
热心网友
时间:2023-10-20 07:39
# include <stdio.h>
# include <math.h>
int main(void)
{
//把三个系数保存到计算机中
int a = 1; //=不表示相等,表示赋值
int b = 5;
int c = 6;
double delta;
double x1;
double x2;
//float delta; //datla存放的是b*b - 4*a*c
//float x1; //存放一元二次方程的其中一个解
//float x2; //存放一元二次方程的其中一个解
delta = b*b - 4*a*c;
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 = (-b) / (2*a);
x2 = x1; //右边赋给左边
printf ("该一元二次方程有唯一解,x1 = x2 = %f\n", x1);
}
else
{
printf ("无解\n");
}
return 0;
}
热心网友
时间:2023-10-20 07:40
不知道你指的错是什么意思,不过你代码中的delta的值是-4,所以程序的结果将会是"此函数无解"
热心网友
时间:2023-10-20 07:38
# include <stdio.h>
# include <math.h>
int main (void)
{
int a = 1;
int b = 2;
int c = 2;
double x1;
double x2;
double delta;
delta = ( b*b - 4*a*c);
if (delta>0)
{
x1= ( -b + sqrt(delta) ) / (2*a);
x2= ( -b - sqrt(delta) ) / (2*a); //delta写错了
printf ("此函数有两个解,x1=%f,x2 = %f",x1,x2 ); //浮点数用%f
}
else if (delta==0)
{
x1 = (-b)/(2*a);
x2 = x1;
printf("此函数有唯一解,x1 = %f",x1,x2); //浮点数用%f
}
if ( delta<0)
{
printf("此函数无解");
}
return 0;
}
热心网友
时间:2023-10-20 07:39
把x2= ( -b- sqrt(detla ) ) / ( 2*a);改成x2= ( -b- sqrt(delta ) ) / ( 2*a);。
把printf ("此函数有两个解,x1=%d,x2 = %d",x1,x2 );改成printf ("此函数有两个解,x1=%g,x2 = %g\n",x1,x2 );。
把printf("此函数有唯一解,x1 = %d",x1,x2);改成printf("此函数有唯一解,x1 = %g\n",x1);。
最好把printf("此函数无解");改成printf("此函数无解\n");。
热心网友
时间:2023-10-20 07:41
把最后一个if改成else,把(delta<0)去掉。
热心网友
时间:2023-10-20 07:39
# include <stdio.h>
# include <math.h>
int main(void)
{
//把三个系数保存到计算机中
int a = 1; //=不表示相等,表示赋值
int b = 5;
int c = 6;
double delta;
double x1;
double x2;
//float delta; //datla存放的是b*b - 4*a*c
//float x1; //存放一元二次方程的其中一个解
//float x2; //存放一元二次方程的其中一个解
delta = b*b - 4*a*c;
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 = (-b) / (2*a);
x2 = x1; //右边赋给左边
printf ("该一元二次方程有唯一解,x1 = x2 = %f\n", x1);
}
else
{
printf ("无解\n");
}
return 0;
}
热心网友
时间:2023-10-20 07:40
不知道你指的错是什么意思,不过你代码中的delta的值是-4,所以程序的结果将会是"此函数无解"
热心网友
时间:2023-10-20 07:41
把最后一个if改成else,把(delta<0)去掉。
热心网友
时间:2023-10-20 07:38
# include <stdio.h>
# include <math.h>
int main (void)
{
int a = 1;
int b = 2;
int c = 2;
double x1;
double x2;
double delta;
delta = ( b*b - 4*a*c);
if (delta>0)
{
x1= ( -b + sqrt(delta) ) / (2*a);
x2= ( -b - sqrt(delta) ) / (2*a); //delta写错了
printf ("此函数有两个解,x1=%f,x2 = %f",x1,x2 ); //浮点数用%f
}
else if (delta==0)
{
x1 = (-b)/(2*a);
x2 = x1;
printf("此函数有唯一解,x1 = %f",x1,x2); //浮点数用%f
}
if ( delta<0)
{
printf("此函数无解");
}
return 0;
}
热心网友
时间:2023-10-20 07:39
把x2= ( -b- sqrt(detla ) ) / ( 2*a);改成x2= ( -b- sqrt(delta ) ) / ( 2*a);。
把printf ("此函数有两个解,x1=%d,x2 = %d",x1,x2 );改成printf ("此函数有两个解,x1=%g,x2 = %g\n",x1,x2 );。
把printf("此函数有唯一解,x1 = %d",x1,x2);改成printf("此函数有唯一解,x1 = %g\n",x1);。
最好把printf("此函数无解");改成printf("此函数无解\n");。
热心网友
时间:2023-10-20 07:39
# include <stdio.h>
# include <math.h>
int main(void)
{
//把三个系数保存到计算机中
int a = 1; //=不表示相等,表示赋值
int b = 5;
int c = 6;
double delta;
double x1;
double x2;
//float delta; //datla存放的是b*b - 4*a*c
//float x1; //存放一元二次方程的其中一个解
//float x2; //存放一元二次方程的其中一个解
delta = b*b - 4*a*c;
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 = (-b) / (2*a);
x2 = x1; //右边赋给左边
printf ("该一元二次方程有唯一解,x1 = x2 = %f\n", x1);
}
else
{
printf ("无解\n");
}
return 0;
}
热心网友
时间:2023-10-20 07:40
不知道你指的错是什么意思,不过你代码中的delta的值是-4,所以程序的结果将会是"此函数无解"
热心网友
时间:2023-10-20 07:41
把最后一个if改成else,把(delta<0)去掉。
热心网友
时间:2023-10-20 07:38
# include <stdio.h>
# include <math.h>
int main (void)
{
int a = 1;
int b = 2;
int c = 2;
double x1;
double x2;
double delta;
delta = ( b*b - 4*a*c);
if (delta>0)
{
x1= ( -b + sqrt(delta) ) / (2*a);
x2= ( -b - sqrt(delta) ) / (2*a); //delta写错了
printf ("此函数有两个解,x1=%f,x2 = %f",x1,x2 ); //浮点数用%f
}
else if (delta==0)
{
x1 = (-b)/(2*a);
x2 = x1;
printf("此函数有唯一解,x1 = %f",x1,x2); //浮点数用%f
}
if ( delta<0)
{
printf("此函数无解");
}
return 0;
}
热心网友
时间:2023-10-20 07:38
# include <stdio.h>
# include <math.h>
int main (void)
{
int a = 1;
int b = 2;
int c = 2;
double x1;
double x2;
double delta;
delta = ( b*b - 4*a*c);
if (delta>0)
{
x1= ( -b + sqrt(delta) ) / (2*a);
x2= ( -b - sqrt(delta) ) / (2*a); //delta写错了
printf ("此函数有两个解,x1=%f,x2 = %f",x1,x2 ); //浮点数用%f
}
else if (delta==0)
{
x1 = (-b)/(2*a);
x2 = x1;
printf("此函数有唯一解,x1 = %f",x1,x2); //浮点数用%f
}
if ( delta<0)
{
printf("此函数无解");
}
return 0;
}
热心网友
时间:2023-10-20 07:39
把x2= ( -b- sqrt(detla ) ) / ( 2*a);改成x2= ( -b- sqrt(delta ) ) / ( 2*a);。
把printf ("此函数有两个解,x1=%d,x2 = %d",x1,x2 );改成printf ("此函数有两个解,x1=%g,x2 = %g\n",x1,x2 );。
把printf("此函数有唯一解,x1 = %d",x1,x2);改成printf("此函数有唯一解,x1 = %g\n",x1);。
最好把printf("此函数无解");改成printf("此函数无解\n");。
热心网友
时间:2023-10-20 07:39
# include <stdio.h>
# include <math.h>
int main(void)
{
//把三个系数保存到计算机中
int a = 1; //=不表示相等,表示赋值
int b = 5;
int c = 6;
double delta;
double x1;
double x2;
//float delta; //datla存放的是b*b - 4*a*c
//float x1; //存放一元二次方程的其中一个解
//float x2; //存放一元二次方程的其中一个解
delta = b*b - 4*a*c;
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 = (-b) / (2*a);
x2 = x1; //右边赋给左边
printf ("该一元二次方程有唯一解,x1 = x2 = %f\n", x1);
}
else
{
printf ("无解\n");
}
return 0;
}
热心网友
时间:2023-10-20 07:40
不知道你指的错是什么意思,不过你代码中的delta的值是-4,所以程序的结果将会是"此函数无解"