1.简单*图形(方形)
**** * * * *
**** * * * *
**** * * * *
接下来开始敲代码了
#include <stdio.h>
{
int i,j;
for (i=0;i<3;i++) //i<3 or i<=4;第一个for语句是控制几行,第二个是控制几列;
{
for(j=0;j<4;j++)
printf("*"); //或printf(“* ”)相差一个空格
printf("\n");
}
}
加点难度,来个错位
**** * * * *
**** * * * *
**** * * * *
有个错位就要输入空格键了,在上面的基础上 再加一个循环语句
int i,j,k;
for (i=0;i<3;i++)
{
for(k=0;k<3-i;k++) //可以是n-i主要注意每行错位是1就行(i的变化)
printf(" "); //两个for语句是并列滴,也就是空格打完打*,接着换行进行下一次
for(j=0;j<4;j++)
printf("*"); //或printf("* ");
printf("\n");
}
2.适中*图形(菱形)
*
* *
* * *
每行输出的个数不同也就要对其限制,其实和上面的程序一样只需变化一下下
int i,j,k;
for (i=0;i<3;i++)
{
for(k=0;k<3-i;k++)
printf(" ");
for(j=0;j<= **i** ;j++) //只是把4换成i,因为每行输出的正好递加的;
printf("*");
printf("\n");
}
好了,再加点难度,来个对称的;
*
* *
* * *
* *
*
看图,其实代码也是对称的,嘻嘻;
int i,j,k;
for (i=0;i<3;i++)
{
for(k=0;k<3-i;k++)
printf(" ");
for(j=0;j<= **i** ;j++)
printf("*");
printf("\n");
}
for (i=0;i<2;i++) //下面的还剩两行
{
for(k=0;k<=i+1;k++) //空格也是由少到多,注意这里是i+1(每行空格1,2)
printf(" "); 因为刚开始,我们是3-i(每行空格3,2,1)
for(j=0;j<2-i ;j++) //注意是依次减少滴
printf("*");
printf("\n");
}
当自己不知道循环次数是就把自己想成机器人,把数一个一个代入
3.复杂图形(心形)
借用一下网上的图 嘻嘻,一切图形都是由函数组成的,而心形也是如此;心形函数为(x2+y2-1)3-x2y3=0,在心形内部函数是小于零滴!
*** ***
****** ******
***********
*********
*****
***
实际运行是第一个图填满的样子,嘻嘻;
float x,y,a;
for (y=1.5f;y>-1.5f;y-=0.1)//都是根据图像写的范围,注意看图;(几行)
{
for (x=-1/5f;x<1.5f;x+=0.05f)//(几列)
{a=x*x+y*y-1;
putchar(a*a*a-x*x*y*y*y <=0.0f ? '*' : ' ');}
printf("\n");
}
这些图都是跟for语句有关,也都是空格和*的输出,要多观察,加油呀!!!