鱼C论坛

 找回密码
 立即注册
查看: 1003|回复: 3

[已解决]小白求助

[复制链接]
发表于 2020-3-18 16:22:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
求图中S,式子一直到最后一项的绝对值小于1E-4.
最佳答案
2020-3-18 16:45:46
本帖最后由 墨羽岚 于 2020-3-18 16:47 编辑
#include<stdio.h>
#include<math.h>
int main()
{
        double s=1.0,t=2.0,h=1.0;int k=-1;
        do
        {
                h=k*(1/t);
                s+=h;
                k*=-1;
                t++;
        }while(fabs(h)>=0.0001);
        printf("%f",s);
        return 0;
}
这样的输出值是0.693197,你看看对不对
fef9fee83c606d06f978974852a37987.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-18 16:44:16 | 显示全部楼层
我不知道这个式子的结果,不知道程序对不对
#include <stdio.h>

int main(void)
{
    double S = 0;
    const int sign[] = {1, -1};
    for(int i = 1; 1.0 / i >= 10e-4; ++i) {
        S += sign[(i + 1) % 2] * (1.0 / i);
    }
    printf("%.10lf\n", S);
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-3-18 16:45:46 | 显示全部楼层    本楼为最佳答案   
本帖最后由 墨羽岚 于 2020-3-18 16:47 编辑
#include<stdio.h>
#include<math.h>
int main()
{
        double s=1.0,t=2.0,h=1.0;int k=-1;
        do
        {
                h=k*(1/t);
                s+=h;
                k*=-1;
                t++;
        }while(fabs(h)>=0.0001);
        printf("%f",s);
        return 0;
}
这样的输出值是0.693197,你看看对不对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-19 02:01:54 | 显示全部楼层
最后一项绝对值小于1E-4说明分母等于10000是临界值
#include <stdio.h>
int main()
{
        int i;
        float s=0.0,add=-1.0;
        for (i=1;i<=10000;i++)
        {
                add*=-1;
                s+=add/i;
        }
        printf("所求的近似值为:%f\n",s);
}

计算结果是:0.693092
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-15 21:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表