#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; }