输出菱形图案(难度系数:1颗星)

来源:互联网 发布:叶利钦炮打白宫知乎 编辑:程序博客网 时间:2024/06/07 08:58

输入一个整形N表示菱形的边长,输出菱形的图案(每输出一行*就要空一行)

如果输入N为3,则输出如下:

  * * **   * * *  *

如果输入为4,则输出如下:

   *  * * *   **     * *   *  * *   *

参考代码1:

#include <stdio.h>int main(){    int sideLength, i, j, value;    printf("输入菱形的边长:");    scanf_s("%d", &sideLength);    value = (2 * sideLength - 1) / 2;    for (i = -value; i <= value; i++)    {        for (j = -value; j <= value; j++)        {            if (i + j == value || i + j == -value || i - j == value || i - j == -value)                printf("*");            else                printf(" ");        }        printf("\n");    }}

参考代码2:

#include <stdio.h>void Print(int sideLength, int nLineNumber){    int j;    for (j = 1; j <= sideLength - nLineNumber; j++)        printf(" ");    if (nLineNumber == 1)        printf("*");    else    {        printf("*");        for (j = 1; j <= 2 * (nLineNumber - 1) - 1; j++)            printf(" ");        printf("*");    }    printf("\n");}int main(){    int sideLength, i;    printf("输入菱形的边长:");    scanf_s("%d", &sideLength);    for (i = 1; i <= sideLength; i++)//输出上半部分        Print(sideLength, i);    for (i = sideLength - 1; i >= 1; i--)//输出下半部分        Print(sideLength, i);}

输出结果:
这里写图片描述

3 0