C语言打印菱形 描述:从键盘输入一个整数n(1≤n≤9),打印出指定的菱形。代码思路和注释两种方法
时间: 2024-01-21 13:20:11 浏览: 72
c代码-4.从键盘键盘输入3个整数,然后找出最小的数并输出。例如:输入"10,41,31",输出 "三个数是:10,41,31.最小数是:10."。
方法一:代码思路注释
```c
#include <stdio.h>
int main()
{
int n, c, k, space = 1;
printf("请输入菱形的大小(1-9):");
scanf("%d", &n);
space = n - 1;
for (k = 1; k <= n; k++)
{
for (c = 1; c <= space; c++)
printf(" ");
space--;
for (c = 1; c <= 2 * k - 1; c++)
printf("*");
printf("\n");
}
space = 1;
for (k = 1; k <= n - 1; k++)
{
for (c = 1; c <= space; c++)
printf(" ");
space++;
for (c = 1; c <= 2 * (n - k) - 1; c++)
printf("*");
printf("\n");
}
return 0;
}
```
注释说明:
首先,我们通过 `scanf` 函数从键盘输入一个整数 `n`,表示菱形的大小。
然后,我们计算出菱形顶部空格的数量 `space`,即 `space = n - 1`,并使用 `for` 循环语句打印出菱形的上半部分。
在每一行中,我们先打印出 `space` 个空格,然后再打印出 `2 * k - 1` 个星号 `*`,其中 `k` 表示当前行数。
打印完上半部分后,我们需要打印菱形的下半部分。为了打印出下半部分,我们需要重置 `space` 的值为 `1`,然后再使用 `for` 循环语句打印出菱形的下半部分。
在每一行中,我们先打印出 `space` 个空格,然后再打印出 `2 * (n - k) - 1` 个星号 `*`,其中 `k` 表示当前行数。
方法二:代码注释思路
```c
#include <stdio.h>
int main()
{
int n, i, j, space = 1;
printf("请输入菱形的大小(1-9):");
scanf("%d", &n);
space = n - 1;
// 打印上半部分
for (i = 1; i <= n; 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 <= n - 1; i++)
{
for (j = 1; j <= space; j++)
printf(" ");
space++;
for (j = 1; j <= 2 * (n - i) - 1; j++)
printf("*");
printf("\n");
}
return 0;
}
```
注释说明:
首先,我们通过 `scanf` 函数从键盘输入一个整数 `n`,表示菱形的大小。
然后,我们计算出菱形顶部空格的数量 `space`,即 `space = n - 1`。接下来,我们使用 `for` 循环语句打印出菱形的上半部分。
在每一行中,我们先打印出 `space` 个空格,然后再打印出 `2 * i - 1` 个星号 `*`,其中 `i` 表示当前行数。
打印完上半部分后,我们需要打印菱形的下半部分。为了打印出下半部分,我们需要重置 `space` 的值为 `1`,然后再使用 `for` 循环语句打印出菱形的下半部分。
在每一行中,我们先打印出 `space` 个空格,然后再打印出 `2 * (n - i) - 1` 个星号 `*`,其中 `i` 表示当前行数。
阅读全文