题解 | #字符金字塔#
字符金字塔
http://www.nowcoder.com/practice/0fae60c3b5c64699b7c0f031c2187dde
/* 观察发现共有5行,第一行前面有4个空格,后面的行逐行减1;并通过观察发现以下规律
1 1、第一行打印1个字符,第二行打印2个...所以第n行打印n个字符
1 1 2、每行开始打印字符的位置为打印完前置的空格(5-行数)后开始打印
1 1 1 3、打印一个字符后,紧跟着打印一个空格;
1 1 1 1
1 1 1 1 1
*/
#include<stdio.h>
int main(void)
{
char s;
scanf("%c",&s);//用&s来接收输入的字符
int row,col;
int Row=5;//总共的行数
for(row=1;row<=Row;row++)//row代表行数,也代表着每行所打印的字符个数
{
for(col=1;col<=Row-row;col++)//打印字符前面的空格
printf(" ");
for(int i=1;i<=row;i++)//打印字符并且用row来控制每行所打印的字符个数
{
printf("%c",s);
printf(" ");
}
printf("\n");//打印完字符后换行
}
return 0;
}