C程序设计计算:s=1+1/2+1/3+……1/n,其中n由键盘输入

wqq577w 2013-06-20 07:48:26
各位帮帮忙
计算:s=1+1/2+1/3+……1/n,其中n由键盘输入
...全文
21071 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
IT萝卜 2013-08-02
  • 打赏
  • 举报
回复 1
引用 楼主 wqq577w 的回复:
各位帮帮忙 计算:s=1+1/2+1/3+……1/n,其中n由键盘输入

#include <stdio.h> 
int main(void)
{
    double i,n;
    double s = 0.0;
     
    printf("Please input n:");
    scanf("%f", &n);
     
    for(i = 1; i <= n; i++)
        s += 1.0 / i;
    printf("s=%lf\n", s);
     
    return 0;
}
lpcads 2013-08-02
  • 打赏
  • 举报
回复
引用 10 楼 q583900890 的回复:
这不是1/n从1到n的积分ln(n)么
n趋于无穷时,差个欧拉常数的
常如意 2013-08-02
  • 打赏
  • 举报
回复
#include <stdio.h> int main(void) { int n; int i; float s; printf("Please input a number:"); scanf("%d", &n); for(i = 1; i <= n; i++) s += 1.0 / i; printf("s=%d\n", s); return 0; }
晴天_ccc 2013-08-01
  • 打赏
  • 举报
回复
这不是1/n从1到n的积分ln(n)么
FancyMouse 2013-08-01
  • 打赏
  • 举报
回复

double f(int n)
{
	if(n > 500)
		return log(n) + 0.57721566490153286060651 + 0.5/n * (1. - 1./6./n);
	else
	{
		double result = 0.;
		for(;--n>0;)
			result += 1.0 / n;
		return result;
	}
}
superstarzjh 2013-08-01
  • 打赏
  • 举报
回复
/*用for循环求1+2+3+...+n的和*/ #include "stdio.h" void main() { int i,iSum=0,n; printf("请输入自然数n:"); scanf("%d",&n); for(i=1;i<=n;i++) { iSum=iSum+i; } printf("\n 1+2+3+...+%d= %d\n",n,iSum); } 供参考
cfvmario 2013-06-21
  • 打赏
  • 举报
回复
引用 4 楼 AnYidan 的回复:
重要的是算法,当 n 足够大时,1/n 会被忽略掉
我觉得真N大到了那个程度,根本不用一项一项算了,用它的阶来近似吧,是lnN阶的东西,具体我没推,再加几个常系数应该会得到一个N足够大时很好的近似公式
yingzijuntuan 2013-06-21
  • 打赏
  • 举报
回复
这个级数当n到无穷大时,结果也是无穷大的。但是4楼说的对,有精度的问题
AnYidan 2013-06-20
  • 打赏
  • 举报
回复
重要的是算法,当 n 足够大时,1/n 会被忽略掉
图灵狗 2013-06-20
  • 打赏
  • 举报
回复

#include <stdio.h>

int main(void)
{
    unsigned long n;
    unsigned long i;
    double s = 0.0;
    
    printf("Please input n:");
    scanf("%lu", &n);
    
    for(i = 1; i <= n; i++)
        s += 1.0 / i;
    printf("s=%lf\n", s);
    
    return 0;
}
引用 楼主 wqq577w 的回复:
各位帮帮忙 计算:s=1+1/2+1/3+……1/n,其中n由键盘输入
艾薇儿More 2013-06-20
  • 打赏
  • 举报
回复
40分不值啊,
狼异族 2013-06-20
  • 打赏
  • 举报
回复
这还不简单,用for循环n次就行了,

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧