每天一道C语言精选编程题之分数求和

题目描述

计算 1/1 - 1/2 + 1/3 - 1/4 + 1/5 - ... + 1/99 - 1/100 的值,并打印出结果
注:除法分为整数除法和 浮点数除法,要计算出⼩数,得采⽤浮点数除法,浮点数除法的操作数中⾄少要保证有⼀个浮点数。

解法思路

可以⽤⼀个循环来计算。

  1. ⾸先,我们可以定义⼀个变量sum来记录计算结果,初始值为0;
  2. 然后,我们从 1 到 100 遍历每⼀个数;
  3. 对于奇数 i,将 1/i 加⼊到sum中,对于偶数 i,将 sum 减去 1/i。我们就可以得到所求的
    结果。
    在计算 1/i 时,需将除法转化为浮点数除法,可以将 1 写为 1.0 实现。
解法代码
cs 复制代码
#include <stdio.h>
int main()
{
 int i = 0;
 double sum = 0;
 //遍历1~100
 for (i = 1; i <= 100; i++)
 {
 //判断当前数是奇数或偶数
 if (i % 2 == 1)
 //i为奇数,将sum加上1/i的值
 sum += 1.0 / i;
 else
 //i为偶数,将sum减去1/i的值
 sum -= 1.0 / i;
 }
 printf("%lf\n", sum);
 return 0;
}
运行结果

0.688172

相关推荐
Wang's Blog5 小时前
Go-Zero 项目开发47:自研微服务框架的必要性与核心结构设计
开发语言·微服务·golang
白鸽(二般)5 小时前
MinIO Java Client API
java·开发语言
hPw0eKIqD5 小时前
C++ 模板参数推导问题小记(非推导上下文)
开发语言·c++
临床数据科学和人工智能兴趣组5 小时前
要使用 R Markdown,首先需要安装 R 和 RStudio,接着安装 rmarkdown 包
开发语言·数据挖掘·数据分析·r语言·r语言-4.2.1
普通攻击往后拉6 小时前
Leetcode 206. 反转链表
算法·leetcode·链表
Nebula嵌入式6 小时前
【C语言】09-深入解析main函数
linux·c语言·开发语言·嵌入式
@syh.6 小时前
【贪心】矩阵消除游戏
算法·游戏·矩阵
可编程芯片开发7 小时前
基于零极点配置的PID控制系统simulink建模与仿真
算法
徐小夕7 小时前
开源!我用SQLite + DuckDB打造了一款可视化AI问数平台
前端·算法·github