空心正方形的实现

描述

学习了循环,如何去使用循环打印一系列图案的练习。任务是:打印用“*”组成的“空心”正方形图案。

输入描述:

多组输入,一个整数(3~20),表示输出的行数,也表示组成正方形边的“*”的数量。

示例1

输入:6

输出:

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

 

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

解题思路:

图案特征:“空心” 正方形图案的四条边由 “* ” 组成,而内部是空白的。
行数与列数:假设要打印的正方形边长为 n,那么图案就有 n 行和 n 列。
打印规则:当处于第一行或者最后一行时,每一列都需要打印 “* ”。
当处于中间行时,只有第一列和最后一列需要打印 “* ”,其余列打印空格。

外层循环:for (int i = 0; i < n; i++) 控制行数,i 表示当前所在的行号。
内层循环:for (int j = 0; j < n; j++) 控制列数,j 表示当前所在的列号。
条件判断:if (i == 0 || i == n - 1 || j == 0 || j == n - 1) 判断当前位置是否位于正方形的四条边上。如果是,则打印一个星号和空格;否则,打印两个空格。
换行操作:printf("\n"); 在每一行打印结束后进行换行,以便输出正方形图案。

 

用函数来实现空心正方形:

其实很简单就是定义一个空心正方形函数在这个函数去实现空心函数的代码,然后再去调用这个函数我们就可以得到一个空心正方形。

运行结果:

代码实现:

#include <stdio.h>
void kongxinhanshu(int size) {
	for (int i = 0; i < size; i++) {
		for (int j = 0; j < size; j++) {
			if (i == 0 || i == size - 1) {
				printf("* ");
			}
			else if (j == 0 || j == size - 1) {
				printf("* ");
			}
			else
			{
				printf("  ");
			}
		}
		printf("\n");
	}
}
int main() 
{ 
	int n = 0;
	scanf("%d", &n);
	kongxinhanshu(n);
	return 0;
}

 

小小鸡汤:只要坚持不懈,努力上进才能够离理想生活越来越近!!!

                                 (洱海)

大理旅游风景照!!!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值