观察算式,发现分子都是1,分母从1~100,所以可以使用for循环产生1~100之间的数。
另一个问题是,如何产生正负交替的符号?很简单,这个符号本质上就是往每一项前面乘一个系数:一或者负一。所以只需要产生一个系数,并且不断取负即可。
一些细节:
(1)算出来的和是一个小数,应该用double类型(float也行)。
(2)不能把数列的每一项写成1/i,因为1和i都是整数,会执行整数除法,得到的结果也是一个整数,但是我们要的结果是小数呀。所以要把/某一端的数改成小数,比如写成1.0/i文章来源:https://www.toymoban.com/news/detail-687081.html
完整代码如下:文章来源地址https://www.toymoban.com/news/detail-687081.html
# include <stdio.h>
// 计算1/1-1/2+1/3-1/4+...+1/99-1/100
int main()
{
int i = 0; // 循环变量
double sum = 0.0; // 存储和
int flag = 1; // 产生正负交替
// 计算
for (i = 1; i <= 100; i++) // 产生1~100
{
sum = sum + flag * (1.0 / i);
flag = -flag;
}
// 输出
printf("%lf\n", sum); // double类型用%lf的格式来打印
return 0;
}
到了这里,关于使用C语言计算1/1-1/2+1/3-1/4+...+1/99-1/100的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!