Description
从屏幕输入1个整数n,输出以下图形(如输入5)。
*
*
***
*****
*******
*********
*******
*****
***
*
*****
*******
*********
*******
*****
***
*
Input
一个整数n(1 <= n <= 50)。
Output
如上边长为n的三角形。
Sample Input
5
Sample Output
*
***
*****
*******
*********
*******
*****
***
*
0000* 将0处看成空格,然后就等000*** 同于2n-1行字符,第几行 00***** 设成i,然后每行空格数就0******* ********* 0******* 00***** 000*** 0000*
#include<cstdio> //编译预处理指令
int main() //定义主函数 { int i,j,n; //定义变量 scanf("%d",&n); for(i=1;i<=n;i++)//for循环语句目的是让下面花括号内的循环体循环n次, { //若循环体中无i参与,则其意义与for(int i=0;i<n;i++)一样。 for(j=1;j<=n-i;j++)//此处有i所以要考虑i的初始值 putchar(' '); //循环输出(n-i)个空格 for(j=1;j<=2*i-1;j++)//每行循环输出(2i-1)个*,输完*则本行结束, putchar('*');//需换行,所以之后输出换行符 putchar('\n'); } //此时上半个三角形*已输出,接着应输出下面的倒三角形 for(i=n-1;i>=1;i--)//倒三角形比正三角形少一条最长边所以循环(n-1)次 { for(j=1;j<=n-i;j++)//每行输出空格数与*和正三角形有关系,从n-1行开始 putchar(' '); //输出,直到结束 for(j=1;j<=2*i-1;j++) putchar('*'); putchar('\n'); } }