使用 for 循环嵌套就可以打印出三角形或正方形....
这里打印两类三角形。
先看效果:
倒三角:
正三角;
这里的三角看起来比较松散。
代码:倒三角的(这里就不写正三角的了,大体都是一致的)
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
main()
{
int a,b,c;
for(a=1;a<=7;a++) //这里控制换行,a参与内循环;a每次加一
{
for(c=1;c<=a;c++) //打印空格,打印出1到a间数的个数个空格。
{
printf(" ");
}
for(b=15;b>=2*a+1;b--) //打印 * ,每行打印15到2*a+1间数的个数个 * ,
//a每续循环一次增加1,导致每行打印的 * 个数不同。
{
printf("*");
Sleep(100); //每隔100毫秒打印一个
}
printf("\n");
}
让三角变三角松散的方法:
给printf("*") 引号中 * 前后增加空格,变成printf("_ _ _*")同时与要改变打印空格循环,增加每行需要的空格数。关系是: 引号里每增加或减少n个空格 控制打印空格个数的从for(***;c<=a;***)变成for(***;c<=(n+1)*a;***)。
例如:加三个空格,c<=a就要变成c<=4*a
这是因为每列的 * 要对齐。三个空格加上 “*” 本身就要占位四个光标位置,并且下一行比上一行少两个 “---*” ,也就是下一行比上一行要少八个光标位置,要形成三角形,就要给前面增加四个空格。(画一个图就会一目了然),同理,加一个空格就要多打印两个空格。