绘制曲线和直线

Posted on 2020-07-19 18:36  黑炽  阅读(219)  评论(0编辑  收藏  举报
#include<stdio.h>
#include<math.h>

int main(void) {
    double y;
    int x, m, n, yy;
    //直线:y = 45 * (y - 1) + 31
    //曲线: y = cosx
    /*其中,若两线相交,则把曲线上*变成+
    曲线**表示,直线+表示*/
    for (yy = 0; yy <= 20; yy++) {/*对于第一个y坐标进行计算并在一行中打印图形*/
        y = 0.1 * yy;/*屏幕行方向坐标*/
        m = acos(1 - y) * 10;/*是cosx上y点对应的屏幕列坐标*/
        n = 45 * (y - 1) + 31;/*直线上y点对应的列坐标*/
        for (x = 0; x <= 62; x++) {/*屏幕列方向坐标*/
            if (x == m && x == n) printf("+");//若两条线相交
            else if (x == n) printf("+");//不相交时的直线图形
            else if (x == m || x == 62 - m) printf("*");//打印不相交时的曲线图形
            else printf(" ");//其他情况
        }
        printf("\n");
    }
    

    return 0;
}