要画星图先要了解一些基本知识:(1)一般屏幕的大小为25行,80列。(2)显示器只能按行输出,即:输出一行信息后,只能向下一行输出,不能返回到上一行。(3)对于函数图形,我们只能画出图形的大概样子,不能画得很准确。
先看如何画"*"号图,如下图:
*
***
*****
*******
*****
***
*
易知该图有7行,每行的组成可以看成是先空格,再*号。我们可以把图形分成两部分,上面4行,下面3行。我们用i来记行数(从1开始),用j来记空格,用k来记*号。先看上面四行,当i=1时,空格数为3,当i=2时,空格数为2,由此可得空格数为4-i,类似地,可以求出*号个数为2*i-1,利用此关系便可写出上面4行的代码:
for(i=1;i<=4;i++)
{
for(j=1;j<=4-i;j++)
printf(" ");
for(k=1;k<=2*i-1;k++)
printf("*");
printf("/n");
}
利用同样的分析,我们可以画出接下来3行的星图,不再赘述。接下来看如何画函数图,如下图0~2*PI的cos(x)图形: