用C语言实现在屏幕上显示0~360度的sin(x)曲线与直线f(x)=45*(y-1)+31 的迭加图形。用反三角函数实现sin(x)曲线的绘制,其中sin(x)图形用“*”表示,f(x)用“+”表示,在两个图形相交的点上则用f(x)图形的符号。
时间: 2023-12-06 12:44:37 浏览: 71
以下是使用C语言实现的代码:
```c
#include <stdio.h>
#include <math.h>
#define WIDTH 80
#define HEIGHT 25
int main() {
int x, y;
double radian, sine, f;
for (y = HEIGHT; y >= 1; y--) {
radian = asin((double)(y - 1) / (HEIGHT - 1)) * 180 / M_PI;
sine = sin(radian * M_PI / 180);
f = 45 * (y - 1) + 31;
for (x = 0; x < WIDTH; x++) {
if ((int)(sine * WIDTH) == x) {
printf("*");
} else if ((int)f == x) {
printf("+");
} else {
printf(" ");
}
}
printf("\n");
}
return 0;
}
```
首先,我们定义了屏幕的宽度和高度分别为80和25。然后,我们使用两个嵌套循环来遍历屏幕上的每个像素点。对于每个像素点,我们计算出对应的sin(x)值和f(x)值。如果sin(x)值与当前像素点的x坐标相等,则在此处打印一个“*”表示sin(x)图形。如果f(x)值与当前像素点的x坐标相等,则在此处打印一个“+”表示f(x)图形。如果两个值都与当前像素点的x坐标相等,则在此处打印一个“+”表示两个图形相交的点。最后,我们将每行输出结束符“\n”。
阅读全文