急求一个C语言题目解答 求和S=1⼀2-2⼀3+3⼀4-4⼀5.......+99⼀100

急求啊
2025-03-22 22:34:29
推荐回答(4个)
回答1:

对楼上的改了一下,因为里面有个问题:
#include "stdio.h"
void main()
{
int i,j;
int a=1; //用来确定符号,用整形可以了;
double s=0;
for(j=2,i=1;i<=99;i++,j++)
{
s+=double(i)/j*a; //对i转化成double,不然i/j永远都是0;
a=-a;//改变符号;
}
printf("%f",s);
}

当然还可以有其它办法,但一定要记下这个特点:整形与整形作除法,只有整数部分.没有小数部分.

回答2:

#include "stdio.h"
#include
#include //pow在这个头文件下;

int main()
{

int i,j,k=0;

double s=0;
for(j=2,i=1;i<=99;i++,j++)
{

s+=pow(-1,k)*(float)i/j; //pow(a,b)是指a的b次方;
k++;
}
printf("%f",s);

system("pause");
}

运行正确,结果为0.688172;

回答3:

#include "stdio.h"
void main()
{
int i,j;
double a;
double s=0;
for(j=2,i=1;i<=99;i++,j++)
{
a=1;
s+=i/j*a;
a=-1;
}
printf("%f",s);
}

回答4:

#include
void main()
{
double sum=0;
double i=0;
for(i=1;i<100;i++)
sum+=i/(i+1);
printf("%lf\n",sum);
}