1-3 5-7的c语言程序,C语言求1-1/3+1/5-1/7+...——小程序,大道理
问题:用C语言编写程序求1-1/3+1/5-1/7+...
示例:
#include
void main(){
int n=;
float sum=,a=;
while(a<=){
sum=sum+n/a;
n=-n;
a=a+;
}
printf("%f\n",sum);
}
分析:
数列的求和问题,每一项正负交替,并且分母递增2。
首先,这是一个加法(累加)问题,涉及到被加数,加数,和的概念。每一次加法运算产生的和又作为新的被加数,然后加上一个新的加数,并且新的加数之间(即每一项之间)具有规律性。这样不断重复做加法运算。
计算离不开记忆,对于人,每一次运算的中间结果都要记住或者记到草稿纸上才能进行下一步计算,并且求出新结果后旧的结果无需再记忆;计算机也是如此,对于计算机来说,数据保存在存储单元中,在程序中用变量来表示,用来暂存各种数据,包括原始数据,中间结果和最终结果。并且,变量的值可以改变,当旧的值不再需要并且产生新值之后,变量便更新为新值。只从这点来看,草稿纸就毫无优势可言~
对于累加问题,被加数以及和(新的被加数)可以用同一个变量(sum)来保存,它不断地被更新。一开始为0,然后为各种中间结果,直到最后为最终结果并输出。另外,加数也是一个变量,它每次更新为新的值,并且这种更新是有规律可循的:作为一个分数,每次分子更新为相反数,分母则递增2。分子分母都在变化,因此可分别作为一个变量。
但是,我们并没有用一个真正的变量来表示加数,而是用一个含有变量的表达式n/a,这样可以节省一个变量。
然后,C代码要做的除了声明和初始化变量,就是根据逻辑(规律)更新变量(包括变量的引用和赋值)。并且,正因为变量的更新都是有规律可循的,都是在旧值的基础上做运算,可以用一个通用公式来表示,即具有相同的形式,所以可以采用循环结构来实现(这里,我们只循环到分母为99的项)。
小结:
我们从变量的角度分析了这个程序。做的事情无非是变量的声明和初始化(有时变量的输入取代了初始化),以及变量的多次引用和更新(首次赋值称为初始化,再次赋值便是更新),最终可能还要输出它,输出到屏幕或磁盘等。
从形式上来看,变量出现在赋值符(=)的左边(声明并初始化时,赋值时),或右边(引用)。
#include
void main(){
/*变量的声明及初始化*/
int n=;
float sum=,a=;
/*变量的循环引用及赋值*/
while(a<=){
sum=sum+n/a;
n=-n;
a=a+;
}
/*变量的输出*/
printf("%f\n",sum);
}
注意:
这里面有一个坑,就是如果n和a都是整型变量的话,n/a也会是整型,而不是浮点型,结果就会有错误。因此,我们将a声明为浮点型。
拓展:
比较有意思的是,利用这个数列(无穷级数)可以求得圆周率。即将其乘以4便得到π的近似值,项数越多越精确。
c语言求平面上2个坐标点的直线距离、求俩坐标直线距离作为半径的圆的面积、递归、菲波那次数列、explode
#include #include #include char explode( char * str ...
说说用C语言求根的那些事儿
C语言--求根:计算机只识别0和1,那么问题来了,作为计算工具如何解决数学问题?其实,计算机是死东西,都是程序员用计算机的的思维去加数学公式计算数学题的.听起来好高端的样子,其实啊,也就那么回事儿, ...
C语言求x的y次方,自定义函数,自己的算法
我是一名高二中学生,初中时接触电脑,非常酷爱电脑技术,自己百度学习了有两年多了,编程语言也零零散散的学习了一点,想在大学学习计算机专业,所以现在准备系统的学习C语言,并在博客中与大家分享我学习中的心得 ...
c语言求最大公约数和最小公倍数(转)
最大公约数与最小公倍数的求解是很多初学C的人所面临的一道问题.当然这道问题并不难解答,也有很多人已经写过相关的博客,我在此书写此篇博客,一是为了让自己能够夯实基础,另外就是希望能够帮到和我一样的初学者 ...
c语言求回文数的三种算法的描述
c语言求回文数的三种算法的描述 题目描述 注意:(这些回文数都没有前导0) 1位的回文数有0,1,2,3,4,5,6,7,8,9 共10个: 2位的回文数有11,22,33,44,55,66,77,8 ...
用R语言求置信区间
用R语言求置信区间 用R语言求置信区间是很方便的,而且很灵活,至少我觉得比spss好多了. 如果你要求的只是95%的置信度的话,那么用一个很简单的命令就可以实现了 首先,输入da=c(你的数据,用英文 ...
基于php基础语言编写的小程序之计算器
基于php基础语言编写的小程序之计算器 需求:在输入框中输入数字进行加.减.乘.除运算(html+php) 思路: 1首先要创建输入数字和运算符的输入框,数字用input的text属性,运算符用sel ...
自动生成.py文件头部的C语言小程序
每次都 vi xxx.py 然后再打 #!/usr/bin/env python 等等的程序头信息感觉有点麻烦,于是便想着写一个小程序自动生成这些头信息了,顺便在 ~/.bashrc 里写入 alia ...
c语言小程序
这是一个用c语言写的小程序,功能是随机输出30道100以内的四则运算,先生成两个随机数,再通过随机数确定四则运算符号,最后输出题目. #include using na ...
通过反汇编C语言小程序学习Liunx汇编语言
大家好! 我是来自山东师范大学的吴乐. 今天在MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ...
随机推荐
每天一水SGU347
今天本来应该要写校题解报告的,但是CF跪了,一题都没JUDGE出来,最后比赛取消了~郁闷啊! 后来闲的无事,就到处看看contest,随便点进去一个,看到一水题,几分钟写完,马上就WA了!~ 题目的信 ...
编译 Spring-framework的经验分享
Spring-framework source codegit url: git clone git://github.com/SpringSource/spring-framework.git 导入 ...
静态方法List
public class Country { public static List CountryList = new List { new ...
【Beta阶段】第五次scrum meeting
Coding/OSChina 地址 1. 会议内容 学号 主要负责的方向 昨日任务 昨日任务完成进度 接下去要做 99 PM 查阅换肤功能相关资料 100% 着手联网功能 100 DEV 完成分享邀请 ...
转载:C++中两个类中互相包含对方对象的指针问题
原文链接:http://www.cnblogs.com/hanxi/archive/2012/07/25/2608068.html 前几天很不爽,因为C++中两个类中互相包含对方对象的指针编译时提示某 ...
OTL翻译(1) -- 说明
说明 该文档说明的是4.0版本的ORACLE/ODBC和DB2-CLI模板库(OTL).OTL4.0(后面简称OTL)模板库是基于C++的模板的. OTL4.0是组合了C++的模板框架和OTL适配器. ...
poj_1988 并查集
题目大意 开始有N堆砖块,编号为1,2....N,每堆都只有一个.之后可以进行两种操作: (1)M X Y 将编号为X的砖块所在的那堆砖拿起来放到编号为Y的砖块所在的堆上: (2)C X 查询编号为X ...
MySql 8小时解决方案:proxool连接池
最近做的项目用的mysql数据库,前天挂在服务器上,昨天早晨上班一来,同事就说API数据接口访问不了了,我马上mstsc登陆服务器看,报错了.马上重启tomcat,结果还能正常运行,当时没管,今天过来 ...
ui4-5
2016PS第4-5周 图像的高级编辑方法: 4-1.用变换将照片放入相框 1.打开素材文件01-1.jpg 2.执行:文件/置入,选素材01-2.jpg 3.执行:编辑/变换/缩放,缩小照片,暂不退 ...
用python slearning类库实现数据挖掘(python3.x)
Summary of test0 data : source data source code : in test0 file reference : - Reference Website / - ...
1-3 5-7的c语言程序,C语言求1-1/3+1/5-1/7+...——小程序,大道理相关推荐
- 零基础学浙大翁恺C语言(1):Dev C++的安装与第一个小程序
零基础学C语言(1):Dev C++的安装与第一个小程序 在线C语言开发环境:https://clin.icourse163.org/ 本地安装Dev C++:https://sourceforge. ...
- Java后台微信点餐小程序开发最新版笔记,Springboot+Mysql+Freemarker+Bootstrap+微信小程序实现扫码点餐小程序,包含语音提示,微信消息推送,网页管理后台
由于之前的Java后台微信点餐小程序有些知识点过时了,所以今天重新出一版,把里面过时的知识点更新下 前五章是部署笔记,后面是知识点的详细讲解,大家可以先看部署笔记,部署起来后,再跟着详细知识学习. 第 ...
- 微信小程序开发04 性能优化:借助微信开发者工具提升小程序性能
你好,我是周俊鹏. 前几节课我们分别从架构层(双线程模型).链路层(授权模型).和应用层(自定义组件)三个角度学习了小程序的技术要点.它们能帮你完成一个微信小程序的基本业务逻辑和交互逻辑. 逻辑的第一 ...
- 微信小程序开发15 项目实战 基于云开发开发一个在线商城小程序
在学完前 4 个模块之后,我相信你会对微信小程序的开发有一个全新的认识.在前面 3 个模块中,俊鹏分别从微信小程序内在的运行原理,小程序工程化开发以及具体实践层面,深度讲解了微信小程序开发所必要的知识 ...
- 微信小程序(一)初步,包括(初步了解微信小程序,小程序项目结构,小程序宿主环境,发布与上线等)
文章目录 前言 一 微信小程序 1. 小程序与普通网页开发的区别 2. 注册小程序开发帐号 3. 安装开发者工具 4. 创建小程序项目 5. 查看项目效果 6. 主界面的 5 个组成部分 二 项目结构 ...
- 微信背单词类小程序,小鸡单词源码下载,打卡微信小程序
微信背单词类小程序,小鸡单词源码下载,微信小程序开发学习案例,小程序开发教程.一个用来背单词每天打卡的微信小程序,还有词汇测试,包含多种词库后台由腾讯云wafer解决方案. 前段时间开始学做微信小程序 ...
- java反编译微信小程序_教你如何一键反编译获取任何微信小程序源代码(图形化界面,傻瓜式操作)...
一键获取微信小程序源代码 1 Tips:2 一键获取微信小程序源码, 使用了C#加nodejs制作 直接解压在D盘根目录下后就可以使用 将小程序文件放到 wxapkg目录下 3 这个目录下有一些dem ...
- uni-app微信小程序获取手机号;微信小程序获取手机号,获取到后需要进行解密;微信小程序获取手机号失败 Error:该appId没有权限
方法1.uni-app登录加获取手机号解密-直接看此篇即可解决 微信小程序获取手机号注意点: 1.需要先登录,微信小程序登录看这篇 2.手机号获取到时加密的,需要后端解密或者前端自己解密(解密时候就会 ...
- 绑定bindchange事件的微信小程序swiper闪烁,抖动问题解决,(将微信小程序切换到后台一段时间,再打开微信小程序,会出现疯狂循环轮播,造成抖动现象)
绑定bindchange事件的微信小程序swiper闪烁,抖动问题解决,(将微信小程序切换到后台一段时间,再打开微信小程序,会出现疯狂循环轮播,造成抖动现象) 参考文章: (1)绑定bindchang ...
- 超市微信小程序怎么做_微信小程序便利店怎么开?便利店和百货超市怎么开发小程序?...
微信小程序便利店怎么开?便利店和百货超市怎么开发小程序?下面跟随小编一起来看看吧! 现在很多商家还在小程序是什么,流行的说法是开店到微信,创建一个互联网离线模式,将近五公里的小程序显示出来,只要别人用 ...
最新文章
- 在Win10下解压linux压缩包,Win10如何解压缩文件?win10使用命令行来解压缩文件的方法...
- 【luogu P2919 [USACO08NOV]守护农场Guarding the Farm】 题解
- html5离线保存需要联网吗,html5 离线存储
- progress组件(进度条)
- 改造独立部署(SCD)模式下.NET Core应用程序 dotnet的exe文件启动过程
- King of Range
- POJ_2456_Agressive_cows_(二分,最大化最小值)
- 检测用户浏览器是否支持cookie
- 1009 说反话 (20 分)—PAT (Basic Level) Practice (中文)
- Windows桌面文件夹删除被提示“找不到该项目”——顽固目录、文件的删除
- 学计算机装机,学习电脑装机全过程 组装台式机图解教程(12)
- 《最伟大的作品》,解密周杰伦新专辑背后的数据密码
- 《Python 之 源代码 DDOS攻击》
- 非华为电脑多屏协同安装最新的电脑管家
- android模拟器设置静态ip,静态IP地址版EVE模拟器部署和使用说明
- python字体类型arial_python-3.x - 为什么我的font.name属性不影响使用Python-pptx制作的ppt上的字体? 我总是得到arial字体 - 堆栈内存溢出...
- 使用vigil 监控微服务系统包含可视化界面
- CentOS7 安装php7.4
- 2022年R2移动式压力容器充装操作证考试题库及模拟考试
- pv vg lv 裸盘 裸设备 文件系统