用c语言写一个数字空心金字塔,输入一个正整数你,输出n行空心的数字金字塔。要求定义和调用函数hollow_pyramid(n)打印出n行空心的数字金字塔的代码
时间: 2023-12-03 14:44:09 浏览: 169
以下是用C语言编写数字空心金字塔的代码,包括定义和调用函数hollow_pyramid(n):
```
#include <stdio.h>
void hollow_pyramid(int n);
int main()
{
int n;
printf("请输入数字金字塔的行数:");
scanf("%d", &n);
hollow_pyramid(n);
return 0;
}
void hollow_pyramid(int n)
{
int i, j, k, num = 1;
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n - i; j++)
{
printf(" ");
}
printf("%d", num++);
if (i > 1)
{
for (k = 1; k <= 2 * i - 3; k++)
{
printf(" ");
}
printf("%d", num++);
}
printf("\n");
}
}
```
在这段代码中,我们定义了一个名为hollow_pyramid的函数,它接受一个整数参数n,表示要打印的数字金字塔的行数。在函数中,我们使用三重循环来打印数字金字塔。
外层循环控制行数,内层循环控制每一行的数字和空格。在内层循环中,我们首先打印n-i个空格,然后打印数字num,num初始值为1,每输出一个数字就将其加1。
接下来,我们判断当前行数是否大于1,如果是的话,就需要打印中间的空格。中间的空格数量为2i-3,其中i表示当前行数。最后再输出一个数字num,将其加1。
最后,我们在main函数中调用hollow_pyramid函数,并传入用户输入的行数n作为参数。程序将会输出n行空心数字金字塔。
阅读全文