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

本题要求实现函数输出一个实心的字符矩形,定义并调用函数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 main()
{    
    int length, width;
    char ch;

    scanf("%d %d %c", &length, &width, &ch);
    matrix(length, width, ch);

    return 0;
}

/* 请在这里填写答案 */

输入样例:

4 2 H

结尾无空行

输出样例:

HHHH
HHHH

结尾无空行

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");
 }
 	
 }

  • 10
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 可以使用两层循环来实现输出实心矩形。外层循环控制行数,内层循环控制列数,根据行列数的位置判断是否输出字符ch。具体实现如下: def matrix(length, width, ch): for i in range(width): for j in range(length): if i == or i == width-1 or j == or j == length-1: print(ch, end='') else: print(' ', end='') print() 其中,if语句判断当前位置是否在矩形的边缘,如果是则输出字符ch,否则输出空格。注意,print()函数默认输出换行符,因此需要使用end=''来取消换行符的输出调用函数时,可以传入矩形的长、宽和字符matrix(10, 5, '*') 输出结果如下: ********** * * * * * * ********** ### 回答2: 这道题要求实现一个函数输出一个实心字符矩形实现这个函数的关键在于确定矩形的行数、列数和字符。具体来说,我们需要实现一个参数为lengthwidth和ch的函数,用来生成一个矩形。其中,length表示矩形的列数,width表示矩形的行数,ch表示矩形所用的字符。 首先,我们需要明确生成矩形的思路,即矩形是由多个字符组成的,并且矩形的每一行和每一列都由同样的字符组成。我们可以使用两层for循环来逐行逐列地输出字符,如下所示: ```python # 定义矩形函数 def matrix(length, width, ch): # 循环逐行逐列输出字符 for i in range(width): for j in range(length): # 输出字符 print(ch, end="") # 换行 print() ``` 代码中我们先定义一个参数为lengthwidth、ch的函数matrix,然后使用两层for循环输出字符。在循环中,我们使用print函数输出字符,并使用end=""参数使其不换行。在每行输出完后,使用空的print函数实现换行。 然而,这个函数生成的矩形是空心的,我们需要修改函数来生成实心矩形。具体来说,我们只需要在内循环中判断当前输出字符是否为第一行或最后一行的字符,或者是否为第一列或最后一列的字符,如果是则输出ch字符,否则输出空格。 ```python # 定义矩形函数实心) def matrix(length, width, ch): # 循环逐行逐列输出字符 for i in range(width): for j in range(length): # 判断是否为第一行或最后一行的字符,或者是否为第一列或最后一列的字符 if i == 0 or i == width-1 or j == 0 or j == length-1: print(ch, end="") else: print(" ", end="") # 换行 print() ``` 这样,我们就完成了一个能够生成实心矩形函数。这个函数可以用来生成任意大小、任意字符实心矩形。 ### 回答3: 在本题中,我们需要实现一个函数输出一个实心字符矩形。这个函数的功能是在屏幕上显示行数为width、列数为length,由字符ch组成的实心矩形图案。为了实现这个函数,我们需要考虑以下步骤: 首先,我们需要定义函数matrix(length, width, ch),其中length表示列数,width表示行数,ch表示矩形的填充字符。 其次,我们需要在函数使用循环语句来打印矩形。由于我们需要输出实心矩形,因此我们需要在最外层循环中打印矩形的每一行,然后在每一行中使用内层循环来打印这一行中的每一个字符。由于实心矩形需要填充,因此我们需要在内层循环中判断当前打印的字符是否在矩形的边缘,如果是边缘上的字符则打印填充字符,否则打印空格。 最后,我们需要在函数体中进行调用,来展示实心矩形。 因此,我们可以使用如下的代码来实现这个函数: ```python def matrix(length, width, ch): for i in range(width): for j in range(length): if i == 0 or i == width-1 or j == 0 or j == length-1: print(ch, end='') else: print(' ', end='') print() ``` 在这段代码中,我们首先使用两个嵌套的for循环来遍历整个矩形,然后在内层循环中使用if条件判断来判断当前打印的字符是否在边缘上,如果是则打印填充字符,否则打印空格。在打印每一行后,我们使用print()函数来打印换行符,以便继续打印下一行。 最后,我们可以在代码中调用matrix函数来展示实心矩形,例如: ```python matrix(10, 5, '*') ``` 这将打印一个列数为10,行数为5,由字符'*'填充的实心矩形

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值