
C语言绘制曲线 20
程序描述:1.功能:在屏幕上显示0~360度的cos(x)曲线与直线f(x)=45*(y-1)+31的迭加图形。其中cos(x)图形用“*”表示,f(x)用“+”表示,在...
程序描述:
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,有什么特别的原因吗? 展开
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,有什么特别的原因吗? 展开
1个回答
展开全部
一般终端窗口的行数是25行,80列。如果用打印符号这种原始愚蠢的方法进行画图,只能在这个区间范围内。少数支持SVGA/XGA的屏幕支持40行,不过不常用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询