C++问题求指导 计算数列1/1-1/2+1/3...+1/n,n值由用户输入

结果一直是1,求指导哪儿错了

 sum = sum + ( 1.0/i*s );

因为sum是浮点型。若写成1结果只能是整数

#include<stdio.h>

#include<iostream>

using namespace std;

int main()

{

int s,num;

float sum;

cout<<"输入任意一个整数";

cin>>num;

sum=1;

s=-1;

for(int i=2;i<=num;i++)

{

sum=sum+(1.0/i*s);

s=-s;

}

cout<<"该数列的结果是"<<sum<<endl;

return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-05-17
循环中求sum值的句子应该为: sum = sum + ( 1.0/i*s );
第2个回答  2015-10-30
目测
s=-s;有问题
改为
s=-1*s;试试追问

不行 答案还是1

追答

1/i改为1.0/i

相似回答