C语言程序 1-1⼀2+1⼀3-1⼀4+...+1⼀99-1⼀100

2024-11-01 18:25:06
推荐回答(5个)
回答1:

你的输入n是什么意思?

如果是计算

1-1/2+1/3-1/4+...+1/99-1/100

那么不需要输入n,其他不变就是了


如果是计算

1-1/2+1/3-1/4+...+1/n

才需要输入n

代码如下(不需要math.h头文件):

#include 
void main()
{
    double sum;
    int i,n,m;        //加个变量i
    printf("请输入n:");
    scanf("%d",&n);
    for(i=1,m=1,sum=0;i<=n;i++)  //n改为i,100改为n
    {
        sum+=m*(1.0/i);
        m=-m;
    }
    printf("sum=%lf\n",sum);    
}

回答2:

#include 
#include 
int main() //main 最好返回int,有时候是硬性要求……
{
double sum;
int n,m;
printf("请输入n:");
scanf("%d",&n);
for(n=1,m=1,sum=0;n<=100;n++)        //别忘了1/100
{
    sum+=m*(1.0/n);
    m=-m;
}
printf("sum=%lf\n",sum);
return 0; //main 最好返回int,有时候是硬性要求……
}

编译的时候别忘了加上-lm

然后应该没问题啊,

我都执行了……

Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\Mark>a
n:1
sum=0.698172

C:\Documents and Settings\Mark>

回答3:

#include
#include
void main()
{
double sum;
int n,m;
printf("请输入n:");
scanf("%d",&n);
for(n=1,m=1,sum=0;n<100;n++)//这里应该是 n<=100 要把1/100也算进去
{
sum+=m*(1.0/n);
m=-m;
}
printf("sum=%lf\n",sum);

}

回答4:

这个每次都是负的啊 你得增加一个标志位 偶数是负的 奇数是正的 if(m%2==0)flag=-1:else flag=1;

回答5: