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

相关推荐
菜菜的顾清寒几秒前
力扣HOT100(52)动态规划 - 最长递增子序列
算法·leetcode·动态规划
Evand J2 分钟前
【代码介绍】自适应R的AEKF(自适应扩展卡尔曼滤波)和经典EKF比较,MATLAB例程|三维非线性系统
开发语言·matlab·ekf·自适应·自适应滤波
WBluuue6 分钟前
数据结构与算法:树上启发式合并
数据结构·c++·算法·启发式算法
雪的季节9 分钟前
1 个网络线程 + 3 个数据处理线程(完全隔离)
开发语言
风筝在晴天搁浅10 分钟前
快手 CodeTop LeetCode 227.基本计算器Ⅱ
java·开发语言
0xDevNull16 分钟前
Java实战面试题(一)
java·开发语言
不是光头 强21 分钟前
feign-list-param-crash-cpp
java·数据结构·list
学会去珍惜22 分钟前
如何优雅地使用c语言编写爬虫
c语言
x_xbx23 分钟前
LeetCode:20. 有效的括号
算法·leetcode·职场和发展
计算机安禾23 分钟前
【算法设计与分析】第40篇:空间数据结构:KD树与四叉树的查询分析
数据结构·算法