C语言中的求和问题 1/1-1/2+1/3.。。。+1/n
发布网友
发布时间:2024-10-03 10:38
我来回答
共3个回答
热心网友
时间:2024-11-20 17:54
#include<stdio.h>
void main()
{ int k;
int i=1; //对求和中的分母赋值 //自增长的不能是float
double sum; //把sum当作和
int n=-1; //符号变化
printf("请输入你想输入的N\n");
scanf("%d",&k); //%d是输入整数
for(sum=0;i<=k;i++) //用for循环来求和
{ n=-n; //外面的那个循环完全没必要
sum=(sum+(1.0/i*n));
}
printf("计算结果是 %.6f\n",sum);
}
热心网友
时间:2024-11-20 17:51
#include<stdio.h>
void main()
{
int k;
int i=1; //对求和中的分母赋值 //自增长的不能是float
double sum; //把sum当作和
int n=-1; //符号变化
printf("请输入你想输入的N\n");
scanf("%d",&k); //%d是输入整数
for(sum=0;i<=k;i++) //用for循环来求和
{
n=-n; //外面的那个循环完全没必要
sum=(sum+(1.0/i*n));
}
printf("计算结果是 %.6f\n",sum);
}
热心网友
时间:2024-11-20 17:49
看不出来,有点建议:计算前面的正负号的时候,不需要循环
if(i%2 == 0) n = 1 ; else n = -1;
还有这个算法可以改进:
1/1-1/2 如果是奇数 1/(1*2)+1/(3*4)+1/(n-2*n-1) + 1/n
如果是偶数 1/(1*2)+1/(3*4)+1/(n-2*n-1)