C语言分数的正负交叉累加。
计算:1-1/2+1/3-1/4+......+1/99-1/100;
算法表示如下:
S1:sign=1
S2:sum=1
S3:deno=2
S4:sign=(-1)*sign
S5:term=sign*(1/deno)
S6:sum=sum+term
S7:deno=deno+1
S8:若deno<=100,返回S4,否则算法结束
代码如下:
#include<stdio.h>
int main (void)
{
int sign=1;
float sum=1;
float demo;
float term;
for(demo=2;demo<=100;demo++)
{
sign=(-1)*sign;
term=(1/demo)*sign;
sum=sum+term;
}
printf("%f.\n",sum);
return 0;
}