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

最好能稍微解释下。
2024-11-12 02:22:36
推荐回答(5个)
回答(1):

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);

}

运行测试:

回答(2):

#include
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)
}

回答(3):

#include
#include
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;
}

回答(4):

#include
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);
}

回答(5):

#include
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)
}