计算1-1/3+1/5-1/7+…,直到最后一项的绝对值小于10-3(0.001)为止.(按四舍五入的方式精确到小数点后
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/08/10 14:52:35
计算1-1/3+1/5-1/7+…,直到最后一项的绝对值小于10-3(0.001)为止.(按四舍五入的方式精确到小数点后二位
#include
#include
int main()
{
int i=1;
\x05double x=1.0,sum=0;
\x05do
\x05{
\x05\x05x*=(-1.0)*(2*i-3)/(2*i-1);
\x05\x05i++;
\x05\x05sum=sum+x;
\x05}while(fabs(x)>1e-3);
\x05printf("%.2f",sum);
\x05return 0;
}
为什么提交是不对呢,哪里错了
#include
#include
int main()
{
int i=1;
\x05double x=1.0,sum=0;
\x05do
\x05{
\x05\x05x*=(-1.0)*(2*i-3)/(2*i-1);
\x05\x05i++;
\x05\x05sum=sum+x;
\x05}while(fabs(x)>1e-3);
\x05printf("%.2f",sum);
\x05return 0;
}
为什么提交是不对呢,哪里错了
![计算1-1/3+1/5-1/7+…,直到最后一项的绝对值小于10-3(0.001)为止.(按四舍五入的方式精确到小数点后](/uploads/image/z/3941488-64-8.jpg?t=%E8%AE%A1%E7%AE%971-1%2F3%2B1%2F5-1%2F7%2B%E2%80%A6%2C%E7%9B%B4%E5%88%B0%E6%9C%80%E5%90%8E%E4%B8%80%E9%A1%B9%E7%9A%84%E7%BB%9D%E5%AF%B9%E5%80%BC%E5%B0%8F%E4%BA%8E10-3%280.001%29%E4%B8%BA%E6%AD%A2.%EF%BC%88%E6%8C%89%E5%9B%9B%E8%88%8D%E4%BA%94%E5%85%A5%E7%9A%84%E6%96%B9%E5%BC%8F%E7%B2%BE%E7%A1%AE%E5%88%B0%E5%B0%8F%E6%95%B0%E7%82%B9%E5%90%8E)
x*=(-1.0)*(2*i-3)/(2*i-1);当i=3时,你的分母为3了,不是1;
x*=(-1.0)*(2*i-3)/(2*i-1);这句,当i=1时,x=1;i=2时,x=-1/3;i=3时,x=-1/3*(1/5)
x*=(-1.0)*(2*i-3)/(2*i-1);等价于x=x*(-1.0)*(2*i-3)/(2*i-1);
改成这样,
#include
#include
int main()
{
int i=1;
\x05double x=1.0,sum=0,k=1.0;
\x05do
\x05{
\x05\x05x=k/(2*i-1);
\x05\x05i+=2;
\x05\x05sum=sum+x;
\x05\x05k=-k;
\x05}while(fabs(x)>1e-3);
\x05printf("%.2f",sum);
\x05return 0;
};
你看行不
再问: i+=2;,应该是i++ #include double fenshu(int x); int main(void) { int i; double sum=0; int a=1; for (i=1; fenshu(i)>=0.001; i++) { sum = sum + a*fenshu(i); a = a*(-1); } printf("%f", sum); return 0; } double fenshu(int x) { double s; s = 1.0/(2*x-1); return s; } 这是我同学写的,提交成功了结果是0.784898,而我的是0.79 不知道我的为什么错了
再答: printf("%.2f",sum); 改成printf("%f",sum);因为你是要输出两位小数,系统四舍五入
x*=(-1.0)*(2*i-3)/(2*i-1);这句,当i=1时,x=1;i=2时,x=-1/3;i=3时,x=-1/3*(1/5)
x*=(-1.0)*(2*i-3)/(2*i-1);等价于x=x*(-1.0)*(2*i-3)/(2*i-1);
改成这样,
#include
#include
int main()
{
int i=1;
\x05double x=1.0,sum=0,k=1.0;
\x05do
\x05{
\x05\x05x=k/(2*i-1);
\x05\x05i+=2;
\x05\x05sum=sum+x;
\x05\x05k=-k;
\x05}while(fabs(x)>1e-3);
\x05printf("%.2f",sum);
\x05return 0;
};
你看行不
再问: i+=2;,应该是i++ #include double fenshu(int x); int main(void) { int i; double sum=0; int a=1; for (i=1; fenshu(i)>=0.001; i++) { sum = sum + a*fenshu(i); a = a*(-1); } printf("%f", sum); return 0; } double fenshu(int x) { double s; s = 1.0/(2*x-1); return s; } 这是我同学写的,提交成功了结果是0.784898,而我的是0.79 不知道我的为什么错了
再答: printf("%.2f",sum); 改成printf("%f",sum);因为你是要输出两位小数,系统四舍五入
计算1-1/3+1/5-1/7+…,直到最后一项的绝对值小于10-3(0.001)为止.(按四舍五入的方式精确到小数点后
1、 计算1-1/2+1/3-1/4+…+1/99-1/100+…,直到最后一项的绝对值小于10-4为止.结果保留小数点
计算π的近似值.公式如下:π/4=1-1/3+1/5-1/7+……,直到最后一项的绝对值小于10-6为止.
编程实现求1-1/3+1/5+…..,直到最后一项的绝对值小于1e-3时为止
计算π,计算公式是π/4 = 1-1/3+1/5-1/7……,直到最后一项的绝对值小于10的负10次方为止
计算π,计算公式是π/4 = 1-1/3+1/5-1/7……,直到最后一项的绝对值小于10的负6次方为止
C++的题,利用公式,π/4≈1-1/3+5/1-7/1+……,计算π的近似值,直到最后一项的绝对值小于10-4为止
用π=1-1/3+1/5-1/7+……公式求π的近似值,直到最后一项的绝对值小于1e-6为止
c语言用π=1-1/3+1/5-1/7+.公式求π的近似值,直到最后一项的绝对值小于10^-7为止
c语言用π=1-1/3+1/5-1/7+.公式求π的近似值,直到最后一项的绝对值小于10^-6为止
用π/4=1-1/3+1/5-1/7+.公式求π的近似值,直到最后一项的绝对值小于10*6为止.
用vb求pi/4 = 1-1/3+1/5-1/7+...公式求pi的近似值,直到最后一项绝对值小于10-6为止