解题思路:把x从-100遍历到100带入方程,若符合方程式,则输出。
注意事项: abs()函数用来对整型变量求绝对值,fabs()函数用来对浮点型变量求绝对值。
另外,abs()函数在头文件“stdlib.h”中,fabs()函数在头文件“math.h”中,必须先引用头文件才可以使用相应函数。
参考代码:
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,d,x;
scanf("%lf %lf %lf %lf",&a,&b,&c,&d);
if((fabs(a)<=20)&&(fabs(b)<=20)&&(fabs(c)<=20)&&(fabs(d)<=20))//若a,b,c,d满足绝对值<=20
{
for(x=-100;x<=100;x+=0.01)//使用for循环遍历x,由于x精度为0.01,所以每遍历一次,x+0.01
{
if(fabs(a*x*x*x+b*x*x+c*x+d)<=0.000001)
{//由于x精度为0.01,被舍弃的部分小于0.01,而方程为一元"三次"方程,x带入方程后,
//左边的式子舍弃的部分就要小于0.000001,因为有正有负,用绝对值函数fabs()解决即可
printf("%.2lf ",x);
}
}
}
return 0;
}
0.0分
2 人评分