用c编程怎么写菱形图案

时间:2025-03-04 12:29:03 明星趣事

```c

include

int main() {

int rows, i, j, space;

printf("请输入菱形的行数: ");

scanf("%d", &rows);

space = rows - 1; // 打印上半部分菱形

// 打印上半部分菱形

for (i = 1; i <= rows; i++) {

// 打印空格

for (j = 1; j <= space; j++) {

printf(" ");

}

space--;

// 打印星号

for (j = 1; j <= 2 * i - 1; j++) {

printf("*");

}

printf("\n");

}

space = 1; // 打印下半部分菱形

// 打印下半部分菱形

for (i = 1; i <= rows - 1; i++) {

// 打印空格

for (j = 1; j <= space; j++) {

printf(" ");

}

space++;

// 打印星号

for (j = 1; j <= 2 * (rows - i) - 1; j++) {

printf("*");

}

printf("\n");

}

return 0;

}

```

代码解释:

输入行数 :程序首先提示用户输入菱形的行数。

打印上半部分菱形

使用一个外层循环遍历每一行。

内层第一个循环打印空格,空格的数量从 `rows - 1` 递减到 1。

内层第二个循环打印星号,星号的数量从 `2 * i - 1` 递增到 `2 * rows - 1`。

打印下半部分菱形

使用一个外层循环遍历每一行。

内层第一个循环打印空格,空格的数量从 1 递增到 `rows - 2`。

内层第二个循环打印星号,星号的数量从 `2 * (rows - i) - 1` 递减到 `2 * 1 - 1`。

建议:

该代码假设用户输入的是一个正整数,并且没有进行输入验证。在实际应用中,建议添加输入验证以确保程序的健壮性。

代码中的空格和星号打印逻辑是基于每行的行数来计算的,这样可以确保菱形图案的对称性。