注册 登录
编程论坛 C++教室

输入整数n,计算如下公式的值 y=1+1/2*2+1/3*3+1/4*4+…+1/n*n,不知道程序错在哪?

zhoujin1994 发布于 2013-04-25 09:09, 4561 次点击
输入整数n,计算如下公式的值    y=1+1/2*2+1/3*3+1/4*4+…+1/n*n
#include<stdio.h>
void main()
{  int n,i;double y=1.0;
   scanf("%d ",&n);
/********found********/
 for(i=2;i<n;i++)
   y+=1/(i*i);
/********found********/
 printf("The result is %lf\n ",y);
}
5 回复
#2
qunxingw2013-04-25 09:56
数据类型问题,电脑是讲原则的,与我们常识有点差异,普遍性,看下书类型转换
#3
邓士林2013-04-25 11:54
数据类型不一致,所以在整除的时候小数部分被省略,修改如下:
#include<stdio.h>
void main()
{  int n,i;double y=1.0;
   scanf("%d",&n);
/********found********/
for(i=2;i<=n;i++)
   y+=1.0/(i*i);
/********found********/
printf("The result is %lf\n ",y);
}
#4
zhoujin19942013-04-25 13:38
回复 3楼 邓士林
非常感谢
#5
zhoujin19942013-04-25 13:38
回复 2楼 qunxingw
恩,谢了
#6
X186498066812013-04-25 14:36
输入时%d后也不能有空格啊
1