题目:
编写一个函数,其函数原型声明为“void draw(int n);”。函数功能是根据n的个数(0<n<14),输出由字母组成的一个金字塔图形,编写主程序,测试该函数。
例如n = 6时,输出结果如下:
_____A
____ABC
___ABCDE
__ABCDEFG
_ABCDEFGHI
ABCDEFGHIJK
(注:_为空格)
思路分析:
- 先设定行数和列数分别为i,j
- 找出i与j和输入的n之间的关系,具体见之前写的画金字塔图形的
- 每输出一个字母让char类型增一再输出
- 每输出一行,都要重置一次char类型数位‘A’
代码实现:
#include<stdio.h>
void draw(int n)
{
char a = 'A', i = 1, j = 1;
for(i = 1; i <= n; i++)
{
a = 'A';
for(j = 1; j <= n - i; j++) putchar(' ');
for(j = 1; j <= 2 * i - 1; j++)
{
putchar(a);
a = a + 1;
}
putchar('\n');
}
}
int main()
{
int n = 0;
printf("Input the number of rows:");
scanf("%d",&n);
draw(n);
return 0;
}
运行结果:
如输入7行