#include#include #define PI 3.1415926 int main() { printf("y=sin(x)n"); double x, y, m; for (y = 1; y >= 0; y -= 0.1)//分上下两部分打印,程序是从上到下输出,先打印上部分的 { m = asin(y)*10;//反三角 for (x = 1; x < m; x++)//上半部分为半个周期,长度为PI { printf(" "); } printf("*"); for (; x < PI * 10 - m; x++)//对称轴为PI/2,第一个*的位置与第二个*位置之和为PI { printf(" "); } printf("*n"); } for (y = 0; y >= -1; y -= 0.1)//打印下半部分 { m = (PI + asin(-y)) * 10; for (x = 1; x < m+2; x++)//这个+2为微调 { printf(" "); } printf("*"); for (; x < 3*PI * 10 - m+2; x++)//对称轴为3PI/2,两个*位置之和为3PI { printf(" "); } printf("*n"); } }
效果如下:



