本题要求实现函数输出n行字符金字塔。
函数接口定义:
void CharPyramid( int n, char ch);
其中n
和ch
是用户传入的参数,n为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n
行由字符ch
构成的字符金字塔。注意每个字符后有一个空格。
裁判测试程序样例:
#include <stdio.h>
void CharPyramid( int n, char ch );
int main()
{
int n;
char ch;
scanf("%d %c", &n, &ch);
CharPyramid(n, ch);
return 0;
}
/* 请在这里填写答案 */
输入样例:
4 G
输出样例:
在这里给出相应的输出。例如:
G
G G
G G G
G G G G
我的解法:
void CharPyramid( int n, char ch)
{
int i,j;
for(i=1;i<=n;i++)
{
for(j=n-i;j>0;j--)//类似于正三角,先算空格,Ps:注意每行的空格逐行递减,故为n-i
{
printf(" ");
}
for(int j=1;j<=i;j++){
printf("%c ",ch);//根据示例中G之间存在空格判断
}
printf("\n");
}
}
与此类题目相同的还有打印三角形、菱形等,该类题目需要注意的事项是:1.注意每一行的开头的空格,2.注意打印的字符之间是否有空格