在上一篇写了一个分式的加法运算,这篇就介绍加减交替的分式运算;
计算1/1-1/2+1/3-1/4+…+1/99-1/100的值
代码如下:
#include<stdio.h>
int main()
{
int i = 0;
int n = 0;
double num1 = 0.0;
double num2 = 0.0;
double sum = 0.0;
for (i = 1; i <= 100; i += 2)
{
num1 += 1.0 / i;
}
for (n = 2; n <= 100; n += 2)
{
num2 += 1.0 / n;
}
sum = num1 - num2;
printf("%lf\n", sum);
return 0;
}
以上作者是运用了两个循环来解决问题,当然也有更加简便的算法;
接下来再介绍一种算法:
#include<stdio.h>
int main()
{
int i = 0;
double sum = 0.0;
int flag = 1;
for (i = 1; i <= 100; i++)
{
sum += flag * 1.0 / i;
flag = -flag;//这样连续相邻的循环中flag的符号都不同,就可以实现加减交替了
}
printf("%lf\n", sum);
return 0;
}
欢迎大家来评论区提供宝贵的建议!