C语言 编程计算1-1/2+1/3-1/4+……±1/n

最好能稍微解释下。

C语言源程序:

#include "stdio.h"

void main()

{

    int i, n;

    int f = 1;              /* ç¬¦å· */

    double sum;             /* å„项之和 */

    printf("input value of n : ");

    scanf("%d", &n);

    sum = 0.0;

    for(i=1; i<=n; i++)

    {

        sum += 1.0 * f / i;

        f *= -1;            /* t åœ¨æ­£è´Ÿ1之间切换 */

    }

    printf("1-1/2+1/3-1/4+ ... +-1/n = %lf", sum);

}

运行测试:

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-02-17
#include <stdio.h>
void main()
{
int n,i;
double sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
if(n%2==0)
sum-=1/n;
else
sum+=1/n;
}
print("%f",sum)
}
第2个回答  2012-02-17
#include<stdio.h>
#include<math.h>
int main()
{
//π/8=1+1/1*3+1/5*7+…
double sum=0;//记录总和
int n,i,sign=1;
scanf("%d",&n);

for(i=1;i<=n;i++)//循环i
{
sum+=1.0/i*sign;//因为有符号所以要乘上sign
sign=-sign;//观察到符号是正负交替的,所以这里每次都取反.正的变负,负的变正
}
printf("%lf\n",sum);//输出结果
return 0;
}
第3个回答  2012-02-12
#include<stdio.h>
void main()
{
int i=2,j,n,sum=1;
printf("please input n:\n");//输入n的数值。
scanf("%d",&n);
for(i=2;i<=n;i++)
{
if(i%2==1)
i=i;
else
i=-i;
sum+=1/i;
}
printf("sum=%d\n",sum);
}
第4个回答  2012-02-12
#include <stdio.h>
void main()
{
int n,i;
float acount=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
if(n%2==0)
acount-=1/i;
else
acount+=1/i;
}
print("%f",acount)
}
相似回答