没有合适的资源?快使用搜索试试~ 我知道了~
首页C/C++编程百例:余弦曲线绘制与进阶挑战
C/C++编程百例:余弦曲线绘制与进阶挑战
5星 · 超过95%的资源 需积分: 9 9 下载量 18 浏览量
更新于2024-07-26
收藏 355KB DOC 举报
《C语言与C++经典、实用、趣味程序设计编程百例精解》是一本专注于C和C++编程实践的教程,其中包含了两部分的核心内容:一是如何用C和C++语言绘制余弦曲线,二是如何在屏幕上叠加余弦曲线与一条直线。 在第一个例子中,目标是通过不使用数组的方法,仅使用循环结构来绘制0到360度的余弦函数cos(x)曲线。这个任务的难点在于如何在一行屏幕上同时显示两个点,因为显示器的输出方式限制了我们不能回溯到上一行。作者利用余弦函数的对称性,将问题简化为在x轴上以62列宽度展示0至180度的图形,并通过反余弦函数acos计算出对应的y坐标。通过巧妙地设置变量m和x的循环,程序能够打印出左右对称的两个"*"字符,从而实现图形的绘制。 第二个挑战是绘制sin(x)曲线,这需要理解正弦函数的性质并调整之前的算法。对于叠加余弦曲线和直线f(x) = 45*(y-1)+31,关键在于计算每行中两个图形的交叉点,根据这些点的坐标来决定打印哪个图形的字符。这需要对图形的数学表达式有深入理解,并能灵活运用条件语句来控制输出。 在C/C++程序实现上,这两个问题都需要良好的逻辑思维和对数学函数的熟练应用。编写这类程序不仅能够提升编程技能,还能锻炼解决问题的策略和创新思维。通过实际操作,读者可以掌握如何在约束条件下,用简洁的代码实现复杂的图形显示,这对于理解和掌握编程语言的底层机制以及提高程序效率具有重要意义。
资源详情
资源推荐
P&!&((0??!!/
R!D!*8!!
P&!&((0??!!/
R!D!*8!!
*思考题
请打印出任意年份的日历
抓交通肇事犯
一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号
的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前
两位不同;丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。
*问题分析与算法设计
按照题目的要求造出一个前两位数相同、后两位数相同且相互间又不同的整数,然后判断该整
数是否是另一个整数的平方。
*程序说明与注释
!
"
!AE$
%&'$'?$))!(0车号前二位的取值(
%&A'$A'?$A))!(A0车号后二位的取值(
%F'A!(判断二位数字是否相异(
"
E'))A)A$!(计算出可能的整数(
%&'$E$))$!(判断该数是否为另一整数的平方(
%''E!*&%+V&&6@!!<,+E$!(若是,打印结果(
-
-
*运行结果
V&&!S@!99..
G
该存多少钱
假设银行一年整存零取的月息为 <。现在某人手中有一笔钱,他打算在今后的五年中的年
底取出 元,到第五年时刚好取完,请算出他存钱时应存入多少。
*问题分析与算法设计
分析存钱和取钱的过程,可以采用倒推的方法。若第五年年底连本带息要取 元,则要先
求出第五年年初银行存款的钱数:
第五年初存款'()
依次类推可以求出第四年、第三年……的年初银行存款的钱数:
第四年年初存款'第五年年初存款)()
第三年年初存款'第四年年初存款)()
第二年年初存款'第三年年初存款)()
第一年年初存款'第二年年初存款)()
通过以上过程就可以很容易地求出第一年年初要存入多少钱。
*程序说明与注释
!
"
!$
W!'$
%&'$/$))!(!为年数,取值为 . 年(
')()$!(累计算出年初存款数额,第五次的计算
结果即为题解(
*&%+R!!>!<%!!Q&,+$
-
*运行结果
R!!>!.?..!!Q&!
.怎样存钱利最大
假设银行整存整取存款不同期限的月息利率分别为:
<!期限' 年
<!期限' 年
?<!期限' 年
9/<!期限'/ 年
.<!期限' 年
利息'本金月息利率存款年限。
现在某人手中有 元钱,请通过计算选择一种存钱方案,使得钱存入银行 年后得到的
利息最多假定银行对超过存款期限的那一部分时间不付利息。
*问题分析与算法设计
为了得到最多的利息,存入银行的钱应在到期时马上取出来,然后立刻将原来的本金和利息加
起来再作为新的本金存入银行,这样不断地滚动直到满 年为止,由于存款的利率不同,所
以不同的存款方法年限存 年得到的利息是不一样的。
分析题意,设 元存 年,其中 年存 次, 年存 次, 年存 次,/ 年存 / 次,
年存 次,则到期时存款人应得到的本利合计为:
)&)&)&)&//)&
其中 &@ 为对应存款年限的利率。根据题意还可得到以下限制条件:
''
'/'(/
''//(
''//(
''//
可以用穷举法穷举所有的 、/、、 和 的组合,代入求本利的公式计算出最大值,就是
最佳存款方案。
*程序说明与注释
!
"
!//$
W!'&$
%&'$$))!(穷举所有可能的存款方式(
%&/'$/'(/$/))
%&'$'//($))
%&'$'//($))
"
'//$
&'*D#)#
*D#)#
*D#)?#
*D#)/9/#/
*D#).#$
(计算到期时的本利合计(
%&
"
'&$'$'$'$/'/$'$
-
-
*&%+X&!!*&Q!!!>!!!!!#E0,+$
*&%+!!Q!*!%&!!&0!<!,+$
*&%+!!Q!*!%&!/!&0!<!,+/$
*&%+!!Q!*!%&!!&0!<!,+$
*&%+!!Q!*!%&!!&0!<!,+$
*&%+!!Q!*!%&!!&0!<!,+$
*&%+!C0!<%,+$
(输出存款方式(
-
*运行结果
X&!!*&Q!!!>!!!!!#E0
!Q!*!%&!!&0!
!Q!*!%&!/!&0!.
!Q!*!%&!!&0!
!Q!*!%&!!&0!
!Q!*!%&!!&0!
剩余63页未读,继续阅读
liao5189
- 粉丝: 1
- 资源: 43
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功