#include <iostream>
using namespace std;
int main()
{
float sum=0.0;
int i;
double n;
cout<<"请输入一个整数n \n";
cin>>n;
for(i=1;i<=n;i++)
{
if(i%2==0)
i = -i;
else i = i;
sum = sum + 1.0/i;
}cout<<"sum= "<<sum<<endl;
}
这个程序求1-1/2+1/3-1/4………………1/n
希望指出我的错误~而不是想要个答案
參考答案:#include <iostream>
using namespace std;
int main()
{
float sum=0.0;
int i,n; //n最好还是用int型的
double t=-1;//增加一个变量表示1或-1
cout<<"请输入一个整数n \n";
cin>>n;
for(i=1;i<=n;i++)
{
t = -t; //不用判断的,只要循环正负就可以了,而且你原来对i进行操作,i是循环变量,你改变它的值,循环就不再固定了,算法也被破坏了,这里是最大的错
sum = sum + t/i;
}cout<<"sum= "<<sum<<endl;
}