c语言for循环输出菱形

99ANYc3cd6
预计阅读时长 7 分钟
位置: 首页 C语言 正文

C语言使用for循环输出菱形

以下是一个使用C语言for循环输出菱形的完整代码示例:

c语言for循环输出菱形
(图片来源网络,侵删)
#include <stdio.h>
int main() {
    int n, i, j, space;
    // 输入菱形的行数(必须是奇数)
    printf("请输入菱形的行数(奇数):");
    scanf("%d", &n);
    // 上半部分菱形
    for (i = 1; i <= n; i += 2) {
        // 打印空格
        for (space = 1; space <= (n - i) / 2; space++) {
            printf(" ");
        }
        // 打印星号
        for (j = 1; j <= i; j++) {
            printf("*");
        }
        printf("\n");
    }
    // 下半部分菱形
    for (i = n - 2; i >= 1; i -= 2) {
        // 打印空格
        for (space = 1; space <= (n - i) / 2; space++) {
            printf(" ");
        }
        // 打印星号
        for (j = 1; j <= i; j++) {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}

代码说明

  1. 输入处理:程序首先要求用户输入一个奇数作为菱形的行数。

  2. 上半部分菱形

    • 外层循环控制行数(i从1开始,每次增加2,直到n)
    • 第一个内层循环打印前导空格(数量为(n-i)/2)
    • 第二个内层循环打印星号(数量等于当前行号i)
  3. 下半部分菱形

    • 外层循环从n-2开始递减,每次减少2,直到1
    • 同样使用两个内层循环打印空格和星号

示例输出

如果输入5,程序将输出:

c语言for循环输出菱形
(图片来源网络,侵删)

如果输入7,程序将输出:

变体:空心菱形

如果需要输出空心菱形,可以修改星号打印部分的逻辑:

// 上半部分空心菱形
for (i = 1; i <= n; i += 2) {
    for (space = 1; space <= (n - i) / 2; space++) {
        printf(" ");
    }
    for (j = 1; j <= i; j++) {
        if (j == 1 || j == i) {
            printf("*");
        } else {
            printf(" ");
        }
    }
    printf("\n");
}
// 下半部分空心菱形
for (i = n - 2; i >= 1; i -= 2) {
    for (space = 1; space <= (n - i) / 2; space++) {
        printf(" ");
    }
    for (j = 1; j <= i; j++) {
        if (j == 1 || j == i) {
            printf("*");
        } else {
            printf(" ");
        }
    }
    printf("\n");
}

这样输出的是空心菱形,例如输入5时输出:

-- 展开阅读全文 --
头像
织梦默认模板管理不对
« 上一篇 今天
dede chanel
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码

目录[+]