D语言版趣味程序 1.绘制余弦曲线
(说明:原文见http://www.kuqin.com/tiku/c100/,是C语言版。本人改写成D-tango版。与各位D初学者共勉。)
问题:
在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线
问题分析与算法设计
如果在程序中使用数组,这个问题十分简单。但若规定不能使用数组,问题就变得不容易了。
关键在于余弦曲线在0~360度的区间内,一行中要显示两个点,而对一般的显示器来说,只能按行输出,即:输出第一行信息后,只能向下一行输出,不能再返回到上一行。为了获得本文要求的图形就必须在一行中一次输出两个“*”。
为了同时得到余弦函数cos(x)图形在一行上的两个点,考虑利用cos(x)的左右对称性。将屏幕的行方向定义为x,列方向定义为y,则0~180度的图形与180~360度的图形是左右对称的,若定义图形的总宽度为62列,计算出x行0~180度时y点的坐标m,那么在同一行与之对称的180~360度的y点的坐标就 应为62-m。程序中利用反余弦函数acos计算坐标(x,y)的对应关系。
使用这种方法编出的程序短小精炼,体现了一定的技巧。
import tango.io.Console,tango.math.Math;
import tango.stdc.stdlib;
int main()
{
real y,m;
long x;
for(y=1;y>=-1;y-=0.1) /*y为列方向,值从1到-1,步长为0.1*/
{
m=acos(y)*10.0; /*计算出y对应的弧度m,乘以10为图形放大倍数*/
for(x=1;x<m;x++)
Cout(" ")();
Cout("*").flush; /*控制打印左侧的 * 号*/
for(;x<55-m;x++)
Cout(" ").flush;
Cout("*").newline; /*控制打印同一行中对称的右侧*号*/
}
system("pause");//程序执行后显示“按任意键继续”,以便观察
return 0;
}
分享到:
相关推荐
网上找的,《C/C++语言经典实用趣味程序设计编程百例精解》 这是完整的,直到最后一例:100.数字移动 大家看着下不下吧。 前10例内容如下: 1.绘制余弦曲线 2.绘制余弦曲线和直线 3.绘制圆 ...
绘制余弦曲线 2.绘制余弦曲线和直线 3.绘制圆 4.歌星大奖赛 5.求最大数 6.高次方数的尾数 7.阶乘尾数零的个数 8.借书方案知多少 9.杨辉三角形 10.数制转换 11.打鱼还是晒网 12.抓交通肇事犯 ...
C/C++语言经典、实用、趣味程序设计编程的特点是使用C/C++语言设计和实现经典、实用、趣味的程序,涵盖了多个领域,例如绘制余弦曲线、绘制余弦曲线和直线、绘制圆等。这些程序设计编程不仅可以帮助学习者掌握C/C++...
1. 绘制余弦曲线: 本题目要求在屏幕上绘制余弦曲线cos(x),使用"*"符号表示余弦函数曲线。为了解决这个问题,需要考虑余弦曲线在0~360度的区间内的对称性,并利用acos函数计算坐标(x,y)的对应关系。程序中使用了反...
1. 绘制余弦曲线 这个例子展示了如何在控制台上用星号(*)绘制0至360度的余弦函数cos(x)曲线。关键在于利用余弦函数的对称性,一行中同时输出两个点。代码中使用了反余弦函数`acos`来计算弧度,并根据屏幕宽度输出...
1. 绘制余弦曲线: 余弦曲线的绘制主要利用了余弦函数的左右对称性。在不使用数组的情况下,可以通过计算弧度并转换为屏幕坐标来实现。这里使用了反余弦函数`acos()`,乘以放大倍数来获取屏幕上的坐标。程序中,`y`...
1. 绘制余弦曲线 这个例子展示了如何在控制台上使用“*”字符模拟0~360度的余弦曲线。关键在于利用余弦函数的左右对称性,计算出每个点的坐标,然后通过嵌套循环输出。程序中使用了`acos`函数来计算角度,并以10为...
1. 绘制余弦曲线 2. 绘制余弦曲线和直线 3. 绘制圆 4. 歌星大奖赛 5. 求最大数 6. 高次方数的尾数 7. 阶乘尾数零的个数 8. 借书方案知多少 9. 杨辉三角形 10. 数制转换 ... 这些题目涵盖了C语言的基础知识,如算法...
1. 绘制余弦曲线 此例展示了如何在控制台上用星号(*)来绘制0到360度的余弦曲线。关键在于利用余弦函数的左右对称性。程序通过反余弦函数acos计算坐标,然后通过两个for循环分别处理0到180度和180到360度的点。这个...
绘制余弦曲线 2.绘制余弦曲线和直线 3.绘制圆 4.歌星大奖赛 5.求最大数 6.高次方数的尾数 7.阶乘尾数零的个数 8.借书方案知多少 9.杨辉三角形 10.数值转换 11.打鱼还是晒网 ...
C语言编写的六个趣味问题的程序,包括: 075 绘制余弦曲线和直线的迭加 076 计算高次方数的尾数 077 打鱼还是晒网 078 怎样存钱以获取最大利息 079 阿姆斯特朗数 080 亲密数
1. 绘制余弦曲线 在C语言中,我们可以利用数学库中的`cos()`函数和`acos()`函数来计算余弦曲线。余弦曲线在0~360度的区间内具有左右对称性,因此我们可以通过计算0~180度的点,然后推导出对称的180~360度的点。程序...
1. 绘制余弦曲线 这个例子展示了如何在终端上用星号(*)模拟0到360度的余弦曲线。在不使用数组的情况下,程序员巧妙地利用了余弦函数的对称性。程序首先定义了屏幕的行(x)和列(y)方向,然后通过反余弦函数acos计算...
1. 绘制余弦曲线 这个例子展示了如何在命令行界面用“*”字符绘制余弦曲线。通过使用反余弦函数`acos()`,我们可以找到对应的弧度,并基于屏幕宽度调整输出。在不使用数组的情况下,程序通过计算余弦函数的左右对称...
1. 程序设计:本文讲解了多个程序设计的例子,包括绘制余弦曲线、绘制余弦曲线和直线的迭加图形、绘制圆等。 2. 算法设计:本文讨论了多个算法设计的思路和方法,包括使用数学函数 acos 和 printf 函数来实现图形的...