先上代码
#include <stdio.h>
int main(void)
{
long lLimit;
float fSum1 = 0.0,fSum2 = 0.0;
printf("请输入一个数值\n");
scanf("%ld",&lLimit);
for(int i = 1; i <= lLimit; i ++)
fSum1 += (1/i);
for(int i = 1; i <= lLimit; i ++)
{
int a = 1;
for(int j = 1;j < i; j++)
a *= -1;
fSum2 += a*(1/i);
}
printf("1 + 1/2 + 1/3 +....前%ld项和为 %f\n",lLimit,fSum1);
printf("1 - 1/2 + 1/3 - 1/4 + 1/5....前%ld项和为%f \n",lLimit,fSum2);
printf("两个数列总和为 %f \n",fSum1+fSum2);
return 0;
}
程序的目的看最后的两个printf
下面是运行结果
不论我输入什么数字都是这个结果。
求大神指出问题。