c语言编程题,用循环语句

编程求以下公式的值
s=1+1/(1*2)+1/(2*3)+....+1/(n*(n+1))

#include<stdio.h>
int main(void)
{
 int i,n;
 double s=1;
 printf("Please input n:");
 scanf("%d",&n);
 for(i=1;i<=n;i++)
  s=s+1.0/(i*(i+1));
 printf("s=%.2f\n",s);
 return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-07
答案如下,不明白追问!
#include<stdio.h>
int main(void)
{
long int i, n;
double sum = 0, s = 1;

printf("请输入一个正整数n!\n");

scanf("%d",&n);

for(i=1; i<=n; i++)

{

s *= i;

sum += (double)1.0 / s;

}

printf("计算结果为%lf\n", sum);

return 0;

}本回答被网友采纳
第2个回答  2013-07-07
测试通过

#include<stdio.h>
void main()
{
int i,n;
double sum=1;
scanf("%d",&n);
for(i=1;i<=n;++i)
sum+=1.0/(i*(i+1));
printf("%lf\n",sum);
}追问

你确定?

追答

你看看我的采纳率,就知道了,这题目太菜了,不知道写过多少回

第3个回答  2013-07-07
#include "stdio.h"
main()
{
double sum=1;
int n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum=sum+1/(i*(i+1));
}
print("%lf",sum);
}

试试这个程序吧
第4个回答  2013-07-07

就用循环就行了吧,看看下面代码吧,是可以的。

#include <stdio.h>
void fun()
{
int  n;
double sum=1.0;
printf("请输入n的值:");
scanf("%d",&n);
printf("%d\n",n);
for(double i=1;i<=n;i++)
{
sum +=1/(i*(i+1));
}
printf("%lf\n",sum);
}
void main()
{
fun();
}//有不明白的吗。

追问

感觉你这个太麻烦了,你看下上面那个是不是错的

这个应该不要double吧

就用简单点的循环语句

追答

那你觉得应该是怎样的呢。这个可以讨论的。只要最后你可以得到最好的答案

追问

你看下他们的回答,给我简单一点的

就是那个说测试通过那个,你看怎样,

追答

麻烦你看清楚再说好不,我说的不是你那个。 

你是高手你运行试试。

第5个回答  2013-07-07
int sum=1;

int i;
for(i=1;i<=n;i++)
{
sum=sum+1/(i*(i+1));
}
大概就是这样吧,我没有运行,可能有错误追问

我要确定的,你帮我验证一下,明天考试要用

没有printf吗

大神,给我好好确定下行不

追答

上面那个就是对的,把我的int i改成float i也就对了,加个输出
printf(“%f\n”,sum);

第6个回答  2013-07-07
这是数学公式S=1 -1/2+1/1-1/3+1/2-...- 1/n+1 + 1/n=2+1/n
相似回答