C语言计算数列1 - 1⼀3 + 1⼀5 - 1⼀7 + 1⼀9 - 1⼀11 + …的前n项之和

2024-12-19 14:01:12
推荐回答(4个)
回答1:

手边没有电脑,没法调试。代码逻辑看起来没什么问题,应该是对的。就是你这样用scanf不太好。标准输入始终都会有一个换行符,可能会导致输入的问题。
建议你加个getchar可以解决这个问题。
另外就是你的逻辑,感觉有点难理解,建议改为for(i=1;i<=n;i++)
if就可以写成i%2
你觉得呢?

回答2:

程序没什么问题。1、退出程序的条件设置有误。2、正负号改得太麻烦。

#include 
int main()
{
long n;
scanf("%ld",&n);
while(n>1)
{
double i=1,s=0,d=1;
for(i=1;i<=2*n-1;i+=2)
{s+=d/i;d=-d;}
printf("%.5f\n", s);
scanf("%ld",&n);
}
return 0;
}

回答3:

#include
#include
int main(){
double result=0;
double s=1;
int count=1;
do{
if(count%2==1)
{
result+=1/s;
s+=2;
count++;
}
else
{
result-=1/s;
s+=2;
count++;
}
}while(s <= 101);
printf("1-1/3+1/5-1/7+1/9-1/11+·····+1/101=%f\n", result);
system("pause");
return 1;
}

回答4:

结果好像没错啊。