




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
自增 自减运算符 自增 自减运算符的作用是使变量的值增1或减1自增运算符 i 等价于i i 1或i 1 i等价于i i 1或i 1自减运算符 6 4 自增 自减运算符的使用 自增 自减运算符的使用例如 若i的值为1表达式 j i 的值是什么 表达式 j i 的值是什么 自增 自减运算符的使用 a b得6 3 a 自增 自减运算符的使用例如 inta 3 b 2 c 执行 c a b 之后a b c的值 执行 c a b 之后a b c的值 2 b c a b得8 自增 自减运算符的副作用 表达式中过度使用自增 自减运算符会带来副作用 容易产生歧义例如 若i的值为1 j的值为2 表达式 i j 的值是什么 例如 若i的初值为1 i i i 等于多少 处理循环计算需要明确的三个问题 循环体 哪些运算 动作 是需要重复进行的 循环条件 重复这些运算的条件是什么 即在什么情况下终止 继续这个重复的过程 循环准备 在进行重复的运算处理之前 需要进行的初始处理是什么 剩下的问题就是选用合适的语句表达一个循环计算过程了 循环计算过程的要点 阅读程序 加密 将消息中每个字母变成其后的第四个字母 即 A 变成 E a 变成 e 最后的 W 变成 A X 变成 B includemain charc while c getchar n if c a 阅读程序 1 include includemain inti n 1 for i 1 i 20 i n n i printf d n n system pause TC2 0 阅读程序 2 include includemain floata x1 x2 printf inputvaluefora scanf f TC2 0 百钱百鸡问题 中国古代数学家张丘建在他的 算经 中曾提出著名的 百钱百鸡问题 其题目如下 鸡翁一 值钱五 鸡母一 值钱三 鸡雏三 值钱一 百钱买百鸡 翁 母 雏各几何 百钱百鸡问题 解 设i j k分别代表公鸡 母鸡 小鸡的数量 根据题意列方程 根据题意可知 i j k的范围一定是0到100的正整数 那么 最简单的解题方法是 穷举i j k每一种可能的取值组合 直接代入方程组 若满足该方程组则是一组解 这样即可得到问题的全部解 百钱百鸡问题 i 0 i 20 买母鸡和小鸡 开始 结束 i i 1 i 0 while i 20 i inti j k i j k分别表示公鸡 母鸡和小鸡的数目 j 0 while j 34 j k 0 while k 100 if i j k 100 百钱百鸡问题 1 for i 0 i 20 i 设定公鸡的数目 intmain inti j k i j k分别表示公鸡 母鸡和小鸡的数目 return0 for j 0 j 34 j 设定母鸡的数目 for k 0 k 100 k 设定小鸡的数目 if i j k 100 百钱百鸡问题 for for i 0 i 20 i 设定公鸡的数目 intmain inti j k i j k分别表示公鸡 母鸡和小鸡的数目 return0 for j 0 j 34 j 设定母鸡的数目 k 100 i j if i 15 j 9 k 300 printf d d d n i j k 百钱百鸡问题 for续 整数的位数 给一个不多于五位数的正整数 要求 求出它是几位数分别打印出每一位数按逆序打印出各位数字 整数的位数 续 用if语句求整数x的位数 if x 9999 digits 5 elseif x 999 digits 4 elseif x 99 digits 3 elseif x 9 digits 2 elsedigits 1 整数的位数 续 求整数x的各位数字 one x 10 求x的个位数字 ten x 10 10 求x的十位数字 hund x 100 10 求x的百位数字 thou x 1000 10 求x的千位数字 ten thou x 10000 10 求x的万位数字 整数的位数 循环语句 用循环语句求正整数x的位数 k 0 k用于记录x的位数 do x x 10 k while x 0 注意 当循环结束的时候 x的值等于0 k 1 k用于记录x的位数 while x 9 x x 10 k 整数逆序输出 逆序输出正整数x的各位数字 k 0 k用于记录x的位数 do printf d x 10 x x 10 k while x 0 k 0 k用于记录x的位数 y 0 用于保存x的逆置值 do y y 10 x 10 x x 10 k while x 0 printf d y 另一个例子 若有下述计算关系 试编写程序求数字A B C D的值 intA 1 B C D for B 0 B 9 B for C 0 C 9 C for D 0 D 9 D if A 1000 B 100 C 10 D 9 D 1000 C 100 B 10 A printf d d d d A B C D 十进制整数转换为二进制整数 给定一个十进制整数n 编写程序计算其二进制表示形式并输出 43 10 被除数 除数 商 余数 43 2 21 1 被除数 除数 商 余数 21 43 2 21 1 2 10 1 被除数 除数 商 余数 21 43 2 21 1 2 10 1 10 2 5 0 被除数 除数 商 余数 21 43 2 21 1 2 10 1 10 2 5 0 5 2 2 1 被除数 除数 商 余数 21 43 2 21 1 2 10 1 10 2 5 0 5 2 2 1 2 2 1 0 被除数 除数 商 余数 21 43 2 21 1 2 10 1 10 2 5 0 5 2 2 1 2 2 1 0 1 2 0 1 被除数 除数 商 余数 21 43 2 21 1 2 10 1 10 2 5 0 5 2 2 1 2 2 1 0 1 2 0 1 0 被除数 除数 商 余数 21 43 2 21 1 2 10 1 10 2 5 0 5 2 2 1 2 2 1 0 1 2 0 1 0 十进制整数转换为二进制整数 给定一个十进制整数n 编写程序计算其二进制表示形式并输出 43 10 101011 2 十进制数n转换为二进制数输出 while n 0 printf d n 2 n n 2 换零钱 已知有10元 5元 2元 1元等零币 现需将一张100元大钞换零 问 有几种换法 如何换 换零钱 续 解 设i j k l分别代表100元零钞中10元 5元 2元 1元币的数量 根据题意列方程 根据题意可知 i j k l的范围分别为 0 10 0 20 0 50 0 100 那么 最简单的解题方法是 穷举i j k l每一种可能的取值组合 直接代入方程 若满足该方程则是一个解 这样即可得到问题的全部解 for i 0 i 10 i main inti j k l i j k l分别表示10元 5元 2元 1元币的数目 for j 0 j 20 j for k 0 k 50 k 换零钱 续 for l 0 l 100 l if 10 i 5 j 2 k l 100 printf d d d d n i j k l for i 0 i 10 i main inti j k l longcount 0 for j 0 j 20 j for k 0 k 50 k 换零钱 续 for l 0 l 100 l if 10 i 5 j 2 k l 100 printf d d d d n i j k l count 完数 一个数如果恰好等于它的因子之和 则称其为完数 编写程序找出1000之内的所有完数 例如 6是完数 6 1 2 3 对2 1000内的每个整数n 找出其所有因子 不包括自身 并求其因子之和 查找正整数n的所有因子之和 for n 2 n 1000 n 计算正整数n的所有因子之和 s 0 for k 1 k n 2 k if n k 0 s k if s n printf disaperfectnumber n n 重新查找正整数n的所有因子 for n 2 n 1000 n s 0 计算正整数n的所有因子之和 for k 1 k n 2 k if n k 0 s k if s n printf dItsfactorsare n for k 1 k n 2 k 输出n的所有因子 if n k 0 printf d k printf c n 8 从键盘输入一个字符序列 若其中包含有数字 则将其按照权位降低的次序转换为数值输出 例如 从输入的串dsf6 2 0d 4 3s中提取出数值62043 练习1 从字符序列中取数 62043 6 104 2 103 0 102 4 101 3 0 10 6 10 2 10 0 10 4 10 3 从字符序列中取数 doublek charch k 0 ch getchar while ch n if ch 0 从字符序列中取数 doublek charch printf inputcharacters n k 0 ch getchar while ch n if ch 0 while ch getchar n if ch 0 endofif endofwhile 练习2 求自然对数底的近似值 求自然对数底的近似值 当时 把等号右端的和作为e的近似值 其公式为 编制程序 利用下式计算ucosx的近似值 直到最后一项的绝对值小于10 6 练习3 求余弦函数 doubleu x cosx intn printf inputvalueforx double scanf lf cosx 1 n 1 u 1 while fabs u 1 0e 6 u u x x 2 n 2 n 1 u u cosx cosx u printf 5d 30 10lf 20 10lf n n u cosx n n 1 printf n printf user cos 4lf 10lf n x cosx printf sys cos 4lf 10lf n x c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度货运代理服务质量保证合同样本
- 2025版城市地下综合管廊建设项目承包协议书
- 二零二五年度大型场馆消防系统安装工程承包合同
- 2025版智慧城市项目设计、开发与运维服务合同
- 2025版建筑劳务木工分包合同施工图纸与技术交底范本
- 二零二五年度智能车库设施买卖及安装服务协议书
- 二零二五年度高端钢材定制购销合同
- 二零二五年度乡村振兴项目申报代理合同
- 驻马店市重点中学2026届初中语文毕业考试模拟冲刺卷含解析
- 工程付款协议书(2025版)
- 2024全国中小学“学宪法、讲宪法”知识竞赛题库及答案
- 消除“艾梅乙”医疗歧视-从我做起
- 系统商用密码应用方案v5-2024(新模版)
- DB34∕T 3251-2018 芜湖铁画锻制技术规程
- ISO5001能源管理体系法律法规标准清单
- 2024年江苏省生态环境监测专业技术人员大比武理论试题库(含答案)
- 网红直播带货合作合同范本
- 美容卫生管理制度打印版
- 农村承包土地合同模板
- 二年级数学必练100题
- 《畜禽生产技术》复习试题及答案
评论
0/150
提交评论