c语言打印菱形 描述:从键盘输入一个整数n(1≤n≤9),打印出指定的菱形。 样例输入:4 样例输出: * *** ***** ******* ***** *** *
时间: 2023-06-29 17:18:23 浏览: 49
好的,以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int n, i, j, k;
printf("请输入一个整数n(1≤n≤9):");
scanf("%d", &n);
// 打印上半部分菱形
for (i = 1; i <= n; i++) {
for (j = 1; j <= n - i; j++) {
printf(" ");
}
for (k = 1; k <= 2 * i - 1; k++) {
printf("*");
}
printf("\n");
}
// 打印下半部分菱形
for (i = n - 1; i >= 1; i--) {
for (j = 1; j <= n - i; j++) {
printf(" ");
}
for (k = 1; k <= 2 * i - 1; k++) {
printf("*");
}
printf("\n");
}
return 0;
}
```
运行结果:
```
请输入一个整数n(1≤n≤9):4
*
***
*****
*******
*****
***
*
```
相关问题
C语言打印菱形 描述:从键盘输入一个整数n(1≤n≤9),打印出指定的菱形。代码思路和注释两种方法
方法一:代码思路注释
```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` 表示当前行数。
C语言代码思路和注释打印菱形 描述:从键盘输入一个整数n(1≤n≤9),打印出指定的菱形。两种方法
以下是两种不同的 C 语言代码实现思路和注释,分别用于打印菱形:
方法一:
```c
#include <stdio.h>
int main() {
int n, i, j, k;
printf("请输入一个整数n(1≤n≤9):");
scanf("%d", &n); // 从键盘输入一个整数n
// 打印上半部分菱形
for (i = 1; i <= n; i++) {
// 打印空格
for (j = 1; j <= n - i; j++) {
printf(" ");
}
// 打印星号
for (k = 1; k <= 2 * i - 1; k++) {
printf("*");
}
printf("\n");
}
// 打印下半部分菱形
for (i = n - 1; i >= 1; i--) {
// 打印空格
for (j = 1; j <= n - i; j++) {
printf(" ");
}
// 打印星号
for (k = 1; k <= 2 * i - 1; k++) {
printf("*");
}
printf("\n");
}
return 0;
}
```
方法二:
```c
#include <stdio.h>
int main() {
int n, i, j, k;
printf("请输入一个整数n(1≤n≤9):");
scanf("%d", &n); // 从键盘输入一个整数n
// 打印上半部分菱形
for (i = 1; i <= n; i++) {
// 打印空格
for (j = 1; j <= n - i; j++) {
printf(" ");
}
// 打印星号
for (k = 1; k <= 2 * i - 1; k++) {
printf("*");
}
printf("\n");
}
// 打印下半部分菱形
for (i = n - 1; i >= 1; i--) {
// 打印空格
for (j = 1; j <= n - i; j++) {
printf(" ");
}
// 打印星号
for (k = 1; k <= 2 * i - 1; k++) {
printf("*");
}
printf("\n");
}
return 0;
}
```
以上两种方法的实现思路都是差不多的,只是在打印上半部分和下半部分菱形时的循环控制变量的变化不同。