读书人

上面这个程序哪个地方错了

发布时间: 2012-10-11 10:16:10 作者: rapoo

下面这个程序哪个地方错了
#include <stdio.h>
void main()
{int n1=100,n2=50,n3=10;
double k,s1=0,s2=0,s3=0;
for(k=1;k<=n1;k++)
{s1=s1+k;}
for(k=1;k<=n2;k++)
{s2=s2+k*k;}
for(k=1;k<=n3;k++)
{s3=s3+1/k;}
printf("sum=%15.6f\n",s1+s2+s3);
return 0;
}

[解决办法]
常量也有类型:0和0.0不是一回事。
建议所有变量都改为double类型。
a<=b统一改为a<=b+0.0001
k++改为k+=1.0

读书人网 >C++

热点推荐