c语言迭代法第11题
题目是第十一题,以下是我的解题#include<stdio.h>#include<math.h>voidmain(){floatt=1.0,x,fcos=0.0f;int...
题目是第十一题,以下是我的解题
#include<stdio.h>
#include<math.h>
void main()
{
float t=1.0,x,fcos=0.0f;
int i=2;
printf("Enter float x:");
scanf("%f",x);
do{
fcos+=t;
t=-t*x*x/(i*(i-1));
i+=2;
}while(fabs((double)t)<(1*(10^(-6))));
printf("cosx=%f",fcos);
}
求哪位大神告诉我哪里有问题啊?为什么就是得不到答案 展开
#include<stdio.h>
#include<math.h>
void main()
{
float t=1.0,x,fcos=0.0f;
int i=2;
printf("Enter float x:");
scanf("%f",x);
do{
fcos+=t;
t=-t*x*x/(i*(i-1));
i+=2;
}while(fabs((double)t)<(1*(10^(-6))));
printf("cosx=%f",fcos);
}
求哪位大神告诉我哪里有问题啊?为什么就是得不到答案 展开
1个回答
展开全部
两个错,第一个,接收传入的时候scanf("%f",&x);
第二个,while(fabs((double)t)<(1*(10^(-6))));这样的话当然只一次就退出了,应该是>
下面是改好的代码
#include<stdio.h>
#include<math.h>
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;
}
第二个,while(fabs((double)t)<(1*(10^(-6))));这样的话当然只一次就退出了,应该是>
下面是改好的代码
#include<stdio.h>
#include<math.h>
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;
}
追问
为什么要return0 啊?这个在这里有什么用啊?
追答
没用,int main就要return,void main就不用
Sievers分析仪
2024-10-13 广告
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准...
点击进入详情页
本回答由Sievers分析仪提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询