这个算式刚看起来可能有点复杂,其实不然

我们先分析一下,有两个规律,首先,分母是从2到100,分子都为1,其次,偶数分母前为减号,奇数分母前为加号。ok,了解到这些,我们就可以开始写我们的程序了

第一种方法:

sum设为1,因为分母是从2加到100,所以我们可以用一个for循环,但是它加减号是变换的,我们按我们找出的规律,偶数分母前为减号,奇数分母前为加号,就可以用一个if语句做一个简单的判断,如果分母为偶数,则减,分母为奇数,则加。

注意此题是分数相加减,所以sum应该设成浮点型,然后一定要记得!!!不是1/i,是1.0/i,这样才能得到浮点数。因为在for循环里我们把i设的是int整型,这主要是因为在if判断奇偶数那里有用到i%2来判断,只有i是整型才能用这个式子来判断奇偶数。

#include <stdio.h>
int main(){double sum = 1.0;for(int i=2;i<=100;i++){if(i%2==0){sum = sum - 1.0/i;}else{sum = sum + 1.0/i;}}printf("%f",sum);return 0;
}

第二种方法:用while循环

这种方法其实没上一个方法好理解,但是有一个很精妙的地方。

我们先看代码段第四行,先设置三个浮点数deno,sum,term,deno用来限制数据范围,也是分母从2到100,sum用来保存最后的结果,代码段第三行设了一个整型的sign变量,初始化为1,它有两个作用,一是与deno相除来表示term,即每次循环要加的项,而是改变加减号,由算式可知1/2前是减号,while刚开始值为2,所以用sign=-sign将1变成-1来改变算式符号,而在下一次进入循环的时候,sign=-sign又刚好可以将-1变为1,这也是这个算法的精妙之处,不用特地进行判断。

#include <stdio.h>
int main(){int sign=1;double deno=2.0,sum=1.0,term;while(deno<=100){sign=-sign;term=sign/deno;sum=sum+term;deno=deno+1;}printf("%f",sum);return 0;
}

对初学者还是推荐第一个方法,解题思路更直观也更好上手,希望能帮助到你哟

C语言求1-1/2+1/3-1/4+...+1/99-1/100相关推荐

  1. C语言:求分解一个任意合数为质数乘积形式

    C语言:求分解一个任意合数为质数乘积形式 如: 100是要分成2*2*5*5才算最后的答案 7=1*7的形式是正确的 16=2*2*2*2 正确 #include<stdio.h> mai ...

  2. C语言求3x3数组对角线元素之和

    C语言求3x3数组对角线元素之和 #include <stdio.h> int main() {int i, j,sum=0;int a[3][3];for (i = 0; i < ...

  3. 图的深度搜索c语言,求图的深度优先搜索!该怎么处理

    当前位置:我的异常网» C语言 » 求图的深度优先搜索!该怎么处理 求图的深度优先搜索!该怎么处理 www.myexceptions.net  网友分享于:2013-03-16  浏览:12次 求图的 ...

  4. c语言有参有类最小公倍数,C语言求最大公约数和最小公倍数算法

    C 语言求最大公约数和最小公倍数算法 C 语言求最大公约数和最小公倍数可以说是C 语言编程学习中一个重点和难点,它常常作为计算机专业学生参加各种考试必须要把握的内容.其算法方面除常用的辗转相除法外.还 ...

  5. c语言十万以内超级素数,用C语言求素数的优化

    用C语言求素数的优化 这个程序运行了8个小时,求一亿以内的素数和超级素数. 大家帮忙看看,我求一亿以内的素数和超级素数.从下午5:30开始,一直到零晨0点30才结束.我的电脑配置也可以.INTER E ...

  6. c语言产生随机数_C语言 求的近似值

    点击上方"蓝字"关注我们 愉快的一天,不得不做的三件事: 种田,锄地,整代码!!! [题目] 用循环方法实现. (1)请利用"正多边形逼近"的方法求出π的近似值 ...

  7. c语言编程矩阵主对角线相同,急求!c语言 求N*N矩阵中主对角线和次对角线的元素之和...

    急求!c语言 求N*N矩阵中主对角线和次对角线的元素之和 來源:互聯網  2010-02-24 23:29:06  評論 分類: 電腦/網絡 >> 程序設計 >> 其他編程語言 ...

  8. 小学 n 阶乘的后面包含多少零c语言,C语言---求n的阶乘后面有多少个连续的0

    C语言---求n的阶乘后面有多少个连续的0 题目描述:给定一个正整数n,返回n的阶乘尾部连续0的个数. 例如:(5,5*4*3*2*1=120,则返回1),(10,10*9*8*7*6*5*4*3*2 ...

  9. c语言求n到m之间的素数和

    c语言求n到m之间的素数和 要实现的功能如下 完整源代码实现如下 要实现的功能如下 求n到m所有的素数,并对素数进行求和. 完整源代码实现如下 #include <stdio.h> #in ...

  10. C语言求二叉树的垂直总和(附完整源码)

    C语言求二叉树的垂直总和 C语言求二叉树的垂直总和完整源码(定义,实现,main函数测试) C语言求二叉树的垂直总和完整源码(定义,实现,main函数测试) #include <iostream ...

最新文章

  1. matlab画CDF曲线
  2. windows平台 python生成 pyd文件
  3. webpack的安装及使用webpack打包js、css文件
  4. HQL多对多的查询语句
  5. 如何关闭WINDOWS2003 DEP数据保护功能
  6. mac mysql ngram_MySQL ngram
  7. getelementsbyname谷歌浏览器兼容_常用的浏览器内核有哪些?常用浏览器及其内核介绍...
  8. 现代测试技术与软件关系大吗,现代测试技术及应用学习心得
  9. web前端开发技术现状与发展_Web前端开发的未来,将会有哪些发展方向?
  10. HBase流量限制和表负载均衡剖析
  11. Android studio配置Google play服务
  12. Android 一个adapter实现商品列表折叠
  13. wps软件打不开共享超链接_WPS超链接打不开?
  14. 编译原理(紫龙书)第2版习题答案
  15. 快递市场定价 到底有何影响
  16. Elasticsearch-8.4.2 集群安装
  17. nginx禁止某些指定的浏览器标识来爬我们网站
  18. 如何更改计算机任务栏图标,win7修改任务栏图标|win7系统如何将任务栏图标变大...
  19. 影响谷歌排名的10个重要因素【重点关注】
  20. html打印预览 分页,有分页功能的WEB打印_js

热门文章

  1. 使用O2OA二次开发搭建企业办公平台(一)平台部署篇:平台下载和部署
  2. Win10+VirtualBox+Openstack Mitaka
  3. bzoj 5248: [2018多省省队联测]一双木棋 博弈论+状压dp
  4. “重参数宇宙”再添新成员:RepMLP,清华大学旷视科技提出将重参数卷积嵌入到全连接层
  5. 知识产权的专利制度来源于何处?
  6. Openlayers中的比例尺(scale)和分辨率(resolution)
  7. 数据挖掘:FP-Growth算法 (Python实现)
  8. 计算机编程国际赛事,中小学生学习C++编程可以参加的赛事
  9. sendmail收邮件
  10. Php 360度跟随图,一种360度全景图像无缝拼接的方法与流程