编写函数fun,要求从终端输入一个整数并打印出对应层数的金字塔 c语言 只有外面有星号 要求是个等边三角形
时间: 2024-04-08 09:34:46 浏览: 87
c语言编写打印数字金字塔
以下是使用C语言编写的函数fun,实现了从终端输入一个整数并打印出对应层数的等边三角形金字塔,只有外面有星号的要求:
```c
#include <stdio.h>
void fun(int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < 2 * n - 1; j++) {
if (i == n - 1 || i + j == n - 1 || j - i == n - 1)
printf("* ");
else
printf(" ");
}
printf("\n");
}
}
int main() {
int num;
printf("Enter the number of layers: ");
scanf("%d", &num);
fun(num);
return 0;
}
```
在上述代码中,我们定义了一个函数`fun`,它接受一个整数参数`n`,表示金字塔的层数。函数内部使用两层嵌套循环来打印金字塔的每一行。
外层循环控制金字塔的行数,从0到n-1。内层循环控制每一行的打印内容。在每一行中,我们判断当前位置是否是金字塔的外边界或对角线上的位置,如果是,则打印星号(`*`),否则打印空格(` `)。通过这种方式,我们只在金字塔的外边界和对角线位置打印星号。
在`main`函数中,我们从用户输入获取一个整数作为金字塔的层数,并调用`fun`函数打印出金字塔。
例如,如果用户输入5,则打印出如下的等边三角形金字塔:
```
*
* *
* *
* *
* * * * * * * *
```
阅读全文