C语言绘制曲线

程序描述: 1.功能:在屏幕上显示0~360度的cos(x)曲线与直线f(x)=45*(y-1)+31的迭加图形。其中cos(x)图形用“*”表示,f(x)用“+”表示,在两个图形相交的点上则用f(x)图形的符号。 2.设计思路:图形迭加的关键是要在分别计算出同一行中两个图形的列方向点坐标后,正确判断相互的位置关系。为此,可以先判断图形的交点,再分别控制打印两个不同的图形。代码:#include<stdio.h>#include<math.h> void main(){double y;int x,m,n,yy;for(yy=0;yy<=20;yy++) /*对于第一个y坐标进行计算并在一行中打印图形*/{y=0.1*yy; /*y:屏幕行方向坐标*/m=acos(1-y)*10; /*m: cos(x)曲线上y点对应的屏幕列坐标*/n=45*(y-1)+31; /*n: 直线上y点对应的列坐标*/for(x=0;x<=62;x++) /*x: 屏幕列方向坐标*/if(x==m&&x==n) printf("+"); /*直线与cos(x)相交时打印“+”*/else if(x==n) printf("+"); /*打印不相交时的直线图形*/else if(x==m||x==62-m) printf("*"); /*打印不相交时的cos(x)图形*/else printf(" "); /*其它情况打印空格*/printf("尀n");}}我的问题: 声明了一个整型变量yy,应用在for语句中,为什么把循环条件设为yy<=20,有什么特别的原因吗?
2026年09月18日 22:51
有1个网友回答
网友(1):

一般终端窗口的行数是25行,80列。如果用打印符号这种原始愚蠢的方法进行画图,只能在这个区间范围内。少数支持SVGA/XGA的屏幕支持40行,不过不常用。