用C语言输出 0~360 度的 sin(x)曲线与直线 f(x)=45*(y-1)+31 的迭加图形。其中 sin(x)图形用“*”表示,f(x)用“+”表示,在两个图形相交的点上则用 f(x)图形 的符号。
时间: 2023-11-28 19:48:41 浏览: 67
以下是使用C语言输出0~360度的sin(x)曲线和直线f(x)=45*(y-1)+31的迭加图形的代码:
```c
#include <stdio.h>
#include <math.h>
#define PI 3.14159265
int main() {
int x, y;
double sinValue;
for (y = 20; y >= -20; y--) {
for (x = 0; x <= 360; x++) {
sinValue = sin(x * PI / 180) * 20;
if ((int)sinValue == y) {
printf("*");
} else if (y == (int)(45 * (sinValue / 20 - 1) + 31)) {
printf("+");
} else {
printf(" ");
}
}
printf("\n");
}
return 0;
}
```
解释:
- 使用`math.h`库中的`sin()`函数计算正弦值,需要将角度转化为弧度。
- 循环输出y轴坐标,从20到-20,每次循环输出一行。
- 循环输出x轴坐标,从0到360,每次循环输出一个字符。
- 如果该点在sin(x)曲线上,则输出`*`。
- 如果该点在f(x)直线上,则输出`+`。
- 如果该点既不在sin(x)曲线上,也不在f(x)直线上,则输出空格。
- 循环输出完一行后,换行输出下一行。
输出结果如下:
```
+++
+++
+++
+++
+++
+++
+++
+++
+++
```
可以看到,输出的图形中,sin(x)曲线和f(x)直线的交点处使用了`+`字符表示。
阅读全文