用c语言函数做 从键盘输入n,显示n行图形。 只考虑奇数行。例如n=7时 第一行* 第二行第三行** 第四行******* 第五行***** 第六行*** 第七行*
时间: 2023-09-04 19:13:22 浏览: 85
以下是一个用C语言函数实现的程序,可以根据输入的n值输出相应的图形:
```c
#include <stdio.h>
void print_star(int n, int row) {
// 判断奇偶行
if (row % 2 == 0) {
return;
}
// 计算星号数量
int star_count = n - row + 1;
if (star_count % 2 == 0) {
star_count--;
}
// 打印星号
int i;
for (i = 0; i < star_count; i++) {
printf("*");
}
printf("\n");
}
int main() {
int n, i;
printf("请输入n的值:");
scanf("%d", &n);
// 输出图形
for (i = 1; i <= n; i++) {
print_star(n, i);
}
return 0;
}
```
程序中的 `print_star` 函数用于输出每一行的图形,函数中的 `n` 参数表示总行数,`row` 参数表示当前行数。在函数中,首先判断当前行是否为奇数行,如果是偶数行则直接返回。然后根据当前行数和总行数计算出当前行应该有的星号数量并打印出来。
在 `main` 函数中,首先读入输入的总行数 `n`,然后循环调用 `print_star` 函数输出每一行的图形。
阅读全文