简单的求三角函数sin,cos的图像
作为一个刚刚学习C语言十来天的小白,看了c语言趣味一百例的前两道,还是很有兴趣的,所以就进行对第一问的尝试
cos图像的程序如下
#include <stdio.h>
#include <math.h>
int main()
{
double y;
int x,m;
for(y = 1;y >= -1;y -= 0.2) // 函数的y轴图像,从1到-1,每隔0.2打印一次图像
{
m = acos(y) * 5; // 使用反函数arccos计算x,y的关系,乘5为放大倍数
for(x = 1;x < m;x++) // 打印函数的一半图像
{
printf(" ");
}
printf("*");
for(;x < 31 - m;x++) // 打印另一半图像
{
printf(" ");
}
printf("*\n");
}
return 0;
}
运行图像如下
sin函数的图像就不是那么简单了
sin函数的图像我一开始并没有直接打出来,所以是使用类似与cos的图像一样,先打y轴正半轴的图像后再打出y负半轴的图像后拼接到一起的,但是sin图像负半轴的图像并不是那么简单,花了好一番时间。
#include <stdio.h>
#include <math.h>
int main()
{
int x,m;
double y;
for(y = 1;y >= 0;y -= 0.1)
{
m = 10 * asin(y);
for(x = 0;x < m;x++)
{
printf(" ");
}
printf("+");
for(;x < 31 - m;x++)
{
printf(" ");
}
printf("+\n");
}
for(y = 0; y > -1;y -= 0.1)
{
m = 10*asin(y);
for(x = 1;x < 34 - m;x++)
{
printf(" ");
}
printf("+");
for(;x < 63 + m;x++)
{
printf(" ");
}
printf("+\n");
}
return 0;
}
图像如下