我之前每次晕倒:打出三角形,菱形图案的题目就毫无头绪。
今天重新做类似题目,有了提升。
题目:
然后刚好我想到一个小技巧,把1和“1”后面的这个空位看成一个整体,这样这个图案就变成了两部分,先打出空位,然后打出“1 ”.了
然后分析,这个是一个5行的三角形,第一排的1在第5个位子,空格有四个,第二行空格有3个,所以哪一行的空格就是5-行数,如果我们的行数不确定,只知道最后一行有n个1,那么最后一行就用到了2n-1个位子,每一行的空格数就可以表示为,n-1个空格。
附上程序:
int main()
{
int i = 0;
int j = 0;
int n = 5;
int m = 9;
int a = 0;
scanf("%d", &a);
for (i = 1; i < 6; i++)//行数
{
for (j = 0; j < (m + 1) / 2 - i; j++)
{
printf(" ");
}
for (j = 0; j < i; j++)
{
printf("%d ",a);
}
printf("\n");
}
return 0;
}