c语言迭代法第11题

2025-05-19 20:32:08
推荐回答(1个)
回答1:

两个错,第一个,接收传入的时候scanf("%f",&x);
第二个,while(fabs((double)t)<(1*(10^(-6))));这样的话当然只一次就退出了,应该是>
下面是改好的代码
#include

#include

int main()

{

float t=1.0,x,fcos=0.0f;

int i=2;

printf("Enter float x:\n");

scanf("%f",&x);

do{

fcos+=t;

t=-t*x*x/(i*(i-1));

i+=2;
printf("fcos:%f\n",fcos);
printf("t:%f\n",fabs((double)t));
}while(fabs((double)t)>(1*(10^(-6))));

printf("cosx=%f",fcos);
return 0;

}