| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> C程序设计(谭浩强版)第五章课后习题 -> 正文阅读 |
|
[C++知识库]C程序设计(谭浩强版)第五章课后习题 |
1.输入两个正整数m和n,求其最大公约数和最小公倍数 可以看一下我的这个文章C语言实现最小公倍数和最大公约数 2.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数 英文字母的判定 :要满足两种情况
代码如下:
效果如下: 3.求的值, 其中a是一个数字,n表示a的位数,n由键盘输入。例如2+22+222+2222+22222(此时n=5) 这个公式的规律其实很简单,比如设a1=2,a2=a1*10+a1=22,a3=a2*10+a2... 可以很容易地发现规律,我们需要两个存储值的变量, 一个存储a2,a3...的值,一个存储总共和Sn的值 我们需要借助循环,可以看到n=5的时候,一共有五个数字相加 所以循环的范围也是<=n的, 代码如下:
每一次的循环,a的值都会改变 以a=2,n=5为例 第一次循环时 num=0+2=2,sum=0+2=2 第二次循环时 num=2+2*10=22,sum=2+22=24 第三次循环时 num=22+200=222,sum=24+222=246 第四次循环时 num=222+2000=2222,sum=246+2222=2468 第五次循环时 num=2222+20000=22222,sum=2468+22222=24690
效果如下: ?4.求(即求1!+2!+3!+4!+...+20!) 这个就比较简单了就是1-20的阶乘相加 代码如下:
注意: 不要将sum和t的值设成init类型,因为int类型在内存中占两个字节,整数的范围为-32768-32767 故将sum和t设为double类型,以获得更多的精度。 效果如图: ?5.求++ ?第一个式子就是求1-100的和 第二个式子就是求1-50的平方和 第三个式子就是求1-10的倒数和 代码如下:
?效果如图: 6.输出所有的“水仙花数”。所谓“水仙花数”就是指一个3位数,其各位数字立方和等于该数本身。 例如,153时一个水仙花数,因为153= 乍一看题目确实有可能被吓住,但要慢慢发现规则。 他其实这个判定条件很简单
代码如下:
效果如下: 7.一个数如果恰好等于他的因子之和,这个数就称为”完数“。 例如,6的因子为1,2,3,而6=1+2+3,因此6是”完数“。 编程序找出1000之内的所有完数,并按下面格式输出其因子。 6 its factors are 1,2,3 关于这一题我们至少要用到循环的嵌套 我们用sum来盛放能整除的因数和 切记:每一次循环结束 sum都要及时清零 因为每一次循环的数字都是不一样的,不要将int sum=0写在全局变量中。 代码如下:
至于为什么循环从2开始,那是因为0和1是特殊情况我们就避开他们从2开始了 效果如下: 8.有一个分数序列: ,,,,,,... 求出这个数列的前20项之和。
这样想就很简单了 代码如下:
注意: 不要直接将分子a的值赋给b(b=a;a=a+a),否则后一项的分子就会等于a+a了! 需要一个中转变量(也就是此处t) 效果如下: 9.一个球从100m高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。 求他在第10次落地时共经过多少米,第十次反弹多高。
代码如下:
效果如下: 10.猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。第十天早上想再吃的时候,就只剩一个桃子了。求第一天共摘了多少个桃子。 ?代码如下:
效果如下: 11.输出以下图案: 我们不妨先来分析一下,乍一看还是挺吓人的 其实就是7*7的星星矩阵,然后将四个角都用空格代替。 代码如下:
?原理很简单,这个图案是由上下两部分组合在一起的,最外面的变量i控制行,变量j控制列
当i=0时,k=0,因此本应该在(0,0)的位置进行画” * “操作,因为前面的操作中在(0,0)-(0,2)添加了空格,因此*的位置就排在了他们的后面也就是(0,3)的位置 当i=1时,k=0,1,2,依次往后类推,空格占据了(1,0),(1,1),*就排在了(1,2),(1,3),(1,4) 当i=2时,k=0,1,2,3,4? ,有5个星星 当i=3时,k=0,1,2,3,4,5,6.有7个星星 至此上半部分的逻辑就是如此 ?效果如下:
?有不对的问题欢迎指正!感谢大家! |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 2:34:48- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |