以下的编写的程序哪里错了?作业要求是这样的计算出表达式(b+sqrt(b*b+2*a))⼀(a-b) 的值,输出结果取小数

2025年02月22日 22:44
有4个网友回答
网友(1):

#include
#include
int main()
{
float a,b;
double c;
printf("Please input a,b\n");
scanf("%f%f",&a,&b);
c = ((double)b+sqrt((double)b*b+2*a))/(a-b);
  printf("c=%.2f\n",c);//这里写上.2f表示结果取小数点后两位
return 0;
}

网友(2):

printf("c=%.2lf\n",c); // 小数点后2位 %.2lf
return 0; // 分号
-------
另外,是否要求判断
if ( fabs( a-b) < 1E-07 ) {...};
if ( (b*b+2*a) < 0.0 ) { printf("no real solution\n"); return 0; }
或要求给出 复数解?

网友(3):

将最后的一句改成printf("c=%0.2lf\n",c);就好了。

网友(4):

..........................................你火星来的吧?