第一种方法,直接一行一行打印。通俗易懂
#include <stdio.h>
int main()
{
char a;
scanf("%c", &a);
printf(" %c \n", a);
printf(" %c %c \n", a, a);
printf(" %c %c %c\n", a, a, a);
printf(" %c %c %c %c\n", a, a, a, a);
printf("%c %c %c %c %c\n", a, a, a, a, a);
return 0;
}
第二种方法,用到了for嵌套循环,思路就是找到每一行字符数量与字符前面的空格数量的关系。 如第一行有4个空格一个字符,第二行有3个空格2个字符,以此类推。
#include <stdio.h>
int main()
{
char a;
scanf("%c", &a);//字符用%c字符串用%s
int i, j;//i表示行数,j表示空格数
for (i = 1; i <=5; i++)//为什么不是i=0;i<=5呢?可以试试看,发现会多出来一行空白。
{
for (j = 1; j <= 5 - i; j++)//判断打印几个空格
{
printf(" ");
}
int b=0;//b表示字符数量
for (b = 0; b <= 5 - j; b++)//判断打印几个字符数量,5-j正好是对应行的字符数量。
{
printf("%c ", a);//这里注意%c后面要跟着一个空格。
}
printf("\n");
}
}