1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > C语言代码绘制 利用数组输出 0-2Π之间的 sin 函数图像和 cos 函数图像 实验报告及代码。

C语言代码绘制 利用数组输出 0-2Π之间的 sin 函数图像和 cos 函数图像 实验报告及代码。

时间:2019-08-24 22:06:42

相关推荐

C语言代码绘制 利用数组输出 0-2Π之间的 sin 函数图像和 cos 函数图像 实验报告及代码。

✳新一期的实验任务为用c语言绘制0-2Π之间的sin函数和cos函数图像且利用到数组。

以上为实验报告的模板。

接下来是流程图和代码。

#include <stdio.h>#include <math.h>int main(){int a,b,i,j,x,y;double n, k;char py[21][63];for (y = 10; y >= 0; y--){k = y / 10.0;a = acos(k) * 10;b = asin(k) * 10;for (x = 0; x <= 62; x++){if (x <= 31)if (x == a || x == b || x == (31 - b)) py[10 - y][x] = '*';else py[10 - y][x] = ' ';else if (x == (62 - a) || x == b || x == (94 - 4)) py[10 - y][x] = '*';else py[10 - y][x] = ' ';}}for (y = 0; y >= -10; y--){k = y / 10.0;a = acos(k) * 10;n = asin(-k);b = (3.1415926 + n) * 10;for (x = 0; x <= 62; x++){if (x <= 31)if (x == a || x == b || x == (31 - b))py[10 - y][x] = '*';else py[10 - y][x] = ' ';else if (x == b || x == (62 - a) || x == (94 - b))py[10 - y][x]='*';else py[10 - y][x] = ' ';}}for (i = 0;i < 21;i++){for (j = 0;j < 63;j++){printf("%c", py[i][j]);}printf("\n");}return 0;}

运行结果如图所示:

本期实验的重点在于思考如何描点,并保存在数组中,最后输出并且保证输出的曲线圆滑。

要保证曲线的圆滑,首先我们应当在sin,cos函数图像的基础上适当的放大一些倍数。因为数组储存信息的方式,所以适当的放大倍数会让输出的图像更美观。其次就是数组的设置,这里我们设置的数组为py【21】【63】(py是我的名字缩写,你们想取啥名取啥名)。

这里我详细讲讲为什么要设置为【21】【63】(如果不知道只是什么意思的友友可以百度一下数组的概念,通俗易懂)首先我们都知道sin,cos函数图像在0-2Π范围的图像在y轴上的值是-1到1,x轴上的值是0到6.28(2Π约等于6.28)。因为数组都为整数型,为了好描点,我们采取放大十倍,范围变为-10到10和0到63(62.8进一取整)。以间隔为1为标准划分,因为没有坐标轴,所以竖向有21行(x轴上面分为十行,下面同理,再加上x轴那一行),横向有63列。

那么有了数组构建的思想,接下来就是在我们需要的地方让他输出'*',不需要的地方输出‘ ’。这里我们用的是反函数,设置for循环和if判断语句,以此排查符合的点。给复合的点赋值为‘*’,不符合的赋值为‘ ’。

完成数组的赋值后就是输出环节。采用内嵌式循环输出数组就好啦。

有疑问的话,评论区留言,我会尽力解答,讲错的地方也希望大家可以指出。感谢大噶~~~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。