6-4 使用函数输出一个实心的字符矩形

实现函数输出一个实心的字符矩形,定义并调用函数matrix(length, width, ch),它的功能是在屏幕上显示行数为width、列数为length,由字符ch组成的实心矩形图案。
函数接口定义:
void matrix(int length, int width, char ch);

其中length是矩阵的长度,width是矩阵的宽度,ch是输出的字符,要求函数按照如样例所示的格式,打印出行数为width、列数为length,由字符ch组成的实心矩形图案。

#include <stdio.h>

void matrix(int length, int width, char ch){
    int i, j;
    for(i=1; i<=width; i++){
        for(j=1; j<=length; j++){
            printf("%c", ch);
        }
        printf("\n");
    }
}

int main(){
    int length = 5, width = 3;
    char ch = '*';
    matrix(length, width, ch);
    return 0;
}

#include <stdio.h>

void matrix(int length, int width, char ch) {
    for (int i = 1; i <= width; i++) {  // 遍历矩形的行
        for (int j = 1; j <= length; j++) {  // 遍历矩形的列
            if (i == 1 || i == width || j == 1 || j == length) {  // 如果是矩形边界,则输出字符
                printf("%c", ch);
            } else {  // 否则输出空格
                printf(" ");
            }
        }
        printf("\n");  // 换行到下一行
    }
}

int main() {
    matrix(6, 4, '#');  // 调用函数输出一个行数为4,列数为6,由#符号组成的矩形
    return 0;
}

函数 matrix() 中,第一个循环遍历矩形的行,第二个循环遍历矩形的列,判断当前点是不是矩形的边界,如果是则输出指定的字符,否则输出空格。最后调用函数输出一个行数为 4,列数为 6,由 # 符号组成的矩形。