每天一道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

相关推荐
LilySesy4 分钟前
【与AI+】英语day1——ABAP基础与数据类型
开发语言·ai·sap·abap
老鼠只爱大米4 分钟前
LeetCode经典算法面试题 #295:数据流的中位数(双堆法、有序列表、平衡树等多种实现方案详解)
算法·leetcode·优先队列··数据流·中位数·java 面试题
x_xbx7 分钟前
LeetCode:215. 数组中的第K个最大元素
数据结构·算法·leetcode
你不是我我7 分钟前
【Java 开发日记】我们来说一下 b+ 树与 b 树的区别
java·开发语言
黎阳之光13 分钟前
AI数智筑防线 绿色科技启新篇——黎阳之光硬核技术赋能生态安全双升级
大数据·人工智能·算法·安全·数字孪生
2501_9249526914 分钟前
C++中的过滤器模式
开发语言·c++·算法
左左右右左右摇晃14 分钟前
Java笔记——IO
java·开发语言·笔记
2401_8732046515 分钟前
C++中的组合模式实战
开发语言·c++·算法
twc82916 分钟前
Query 改写 大模型测试的数据倍增器
开发语言·人工智能·python·rag·大模型测试
西野.xuan17 分钟前
内存布局(堆vs栈)一篇详解!!
java·数据结构·算法