编程打印出如下的菱形,其边长是6个*,菱形的行数和个数由键盘输入,例如,输入4,3,表示打印的菱形有4行,一共打印3个菱形。

编程打印出如下的菱形,其边长是6个*,菱形的行数和个数由键盘输入,例如,输入4,3,表示打印的菱形有4行,一共打印3个菱形。

#include<stdio.h>
int main()
{
    int n, m, i, j, k, s;
    scanf("%d %d", &n, &m);
    s = n - 1;
    
    for(k = 0; k < m; k++)
    {
        for(i = 0; i < n; i++)
        {
            for(j = 0; j < s; j++)
                printf(" ");
            for(j = 0; j <= i; j++)
                printf("* ");
            printf("\n");
            s--;
        }
        
        s = 1;
        for(i = n-1; i >= 0; i--)
        {
            for(j = 0; j < s; j++)
                printf(" ");
            for(j = 0; j < i; j++)
                printf("* ");
            printf("\n");
            s++;
        }
        s = n - 1;
    }
    return 0;
}

以下是实现该功能的C++代码:

#include <iostream>
using namespace std;

// 打印菱形
void printRhombus(int row)
{
    int n = row - 1;
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < n; j++)
        {
            cout << " ";
        }
        for (int j = 0; j <= i; j++)
        {
            cout << "* ";
        }
        cout << endl;
        n--;
    }
    n = 1;
    for (int i = row - 1; i > 0; i--)
    {
        for (int j = 0; j < n; j++)
        {
            cout << " ";
        }
        for (int j = 0; j < i; j++)
        {
            cout << "* ";
        }
        cout << endl;
        n++;
    }
}

int main()
{
    int row, count;

    cout << "请输入菱形边长:";
    cin >> row;

    cout << "请输入菱形个数:";
    cin >> count;

    for (int i = 0; i < count; i++)
    {
        printRhombus(row);
    }

    return 0;
}

这里我们定义了一个 printRhombus 函数来实现打印菱形的功能,该函数的参数 row 表示菱形的边长。首先我们通过循环打印上部分的菱形,然后再循环打印下部分的菱形。注意,我们在打印上部分的时候,每行的第一个字符需要先打印一定数量的空格,以保证菱形居中。

在 main 函数中,我们先通过用户输入获取菱形的边长和菱形的个数,然后循环调用 printRhombus 函数打印出指定个数的菱形,由于需要打印多个菱形,因此使用了循环。