C语言计算1-2+3-4+......+99-100和1/1-1/2+1/3-1/4+…… + 1/99 - 1/100

本文介绍了两种方法来计算1到100整数之和以及1/1-1/100的和,分别通过奇偶数判断和符号控制两种策略,展示了C语言中的实现代码。
摘要由CSDN通过智能技术生成

计算1-2+3-4+...+99-100的和

方法一:通过奇偶数的判断

通过观察式子可以看出,奇数进行的是相加的计算,而偶数进行的是相减的计算,因此我们可以使用for循环依次遍历1~100,在循环体中通过if else语句来判断该数的奇偶性,从而进行相加与相减的计算。

#include <stdio.h>
int main()
{
    int sum = 0;
    for (int i = 1; i <= 100; i++)
    {
        if (i % 2 == 0)
        {
            sum -= i;
        }
        else
        {
            sum += i;
        }
    }
    printf("%d", sum);
    return 0;
}
方法二:通过控制符号正负

通过式子可以看出符号的依次变化,因此我们可以利用变量K在每次计算结束之后,使K下一次都变为自身相反数,即在1和-1直接循环变化,这样就不需要判断奇偶性。

#include <stdio.h>
int main()
{
    int sum = 0;
    int k = 1;
    for (int i = 1; i <= 100; i++)
    {
        sum += i * k;
        k = -k;
    }
    printf("%d", sum);
    return 0;
}

计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100的和

方法一:通过奇偶数的判断

方法同上,该两式相比区别在于,该分式的分子是固定的1,而分母是从1~100变化的,并且符号变化是与上式相同的,因此,只需要在以上代码稍作修改,将sum设为float浮点型,并且注意是1.0/i,从而进行相加与相减的计算。

#include <stdio.h>
int main()
{
    float sum = 0;
    for (int i = 1; i <= 100; i++)
    {
        if (i % 2 == 0)
        {
            sum -= 1.0 / i;
        }
        else
        {
            sum += 1.0 / i;
        }
    }
    printf("%f", sum);
    return 0;
}
方法二:通过控制符号正负

该分式与上式一样,分母为奇数时进行相加运算,分母为偶数时进行相减运算,因此我们同样可以用符号变量K来解决正负的问题,并也将K初始化为1,计算结果是一样的。

#include <stdio.h>
int main()
{
    float sum = 0;
    int k = 1;
    for (int i = 1; i <= 100; i++)
    {
        sum += k * (1.0 / i);
        k = -k;
    }
    printf("%f", sum);
    return 0;
}

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值