浙大版《C语言程序设计(第4版)》题目集参考答案
本题要求实现函数输出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
提交结果:
基本思路:
从上往下,依次打印n层金字塔的每一层
打印规律:总层数-所在层数
字符规律:所在层数
代码实现:
void CharPyramid(int n, char ch)
{
for (int i = 1; i <= n; i++)//打印n层金字塔
{
for (int j = 1; j <= n - i; j++)//打印每层的空格
{
printf(" ");
}
for (int k = 1; k <= i; k++)//打印每层的字符
{
printf("%c", ch);//打印字符
printf(" ");//每个字符后有一个空格
}
printf("\n");//打印下一层
}
}
欢迎提问和纠错,共同讨论一起进步!