c语言,我这个代码运行出来不是题目要求,请帮我改一下,题目如图,代码如下,拜托

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(int argc, char *argv[])
{
int i,n;
double s=0,b;

printf( "请输入n(正整数):" );
scanf( "%d", &n );

for(i=1;i<=n;i++){
b=1/(i*(i+1)*(i+2));
s+=b; //把值加到sum中
}
//输出计算结果
printf( "数列的和:%lf\n",s);

return 0;
}
拜托( •̥́ ˍ •̀ू )

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
int main(int argc, char *argv[])
{
int i,n; 
double s=0,b;

printf( "请输入n(正整数):" );
scanf( "%d", &n );

for(i=1;i<=n;i++){
         b=1.0/(i*(i+1)*(i+2));
s+=b; //把值加到sum中 
}
//输出计算结果
    printf( "数列的和:%lf\n",s); 

return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-10-25

这个输入100 的例子应该有问题。比如输入3,应该是1+1/6两项的和。

输入100,最后一项是1/(98*99*100),总共是98项的和。

第2个回答  2018-10-24
/*b=1/(i*(i+1)*(i+2));你这个是整除了,还有s应该为1,输出是是20个小数%.20lf*/

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
int i,n; 
double s=1,b;
printf( "请输入n(正整数):" );
scanf("%d",&n);
for(i=1;i<=n;i++){
b=1.0/(i*(i+1)*(i+2));
s+=b; 
}
printf( "数列的和:%.20lf\n",s); 

return 0;
}

本回答被提问者和网友采纳