前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >C语言_打印回型矩阵BC133

C语言_打印回型矩阵BC133

作者头像
小志biubiu
发布2025-02-27 14:42:36
发布2025-02-27 14:42:36
4200
代码可运行
举报
运行总次数:0
代码可运行

牛客BC133

好久没更新啦

我刚做这个题思路是对的,但是逻辑混乱,回型矩阵每行每列各用各的变量,写的乱七八糟.

这题入手就像卷饼一样,从外面一层一层向中心逼近,,打印逻辑如下

通过定义上下左右来框限位置,向中心靠近,.代码如下

代码语言:javascript
代码运行次数:0
复制
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdlib.h>
int main()
{
	int n = 0;
	int arr[20][20]; 
	scanf("%d", &n);
	int up = 0, left = 0, right = n - 1, down = n - 1;
	 int a = 1;
	while (a <= n*n)
	{
		for (int j = left; j <= right; j++)//上
		{
			arr[up][j] = a++;
		}up++;
		for (int l = up; l <= down; l++)//右
		{
			arr[l][right] = a++;
		}right--;
		for (int j = right; j >= left; j--)//下
		{
			arr[down][j] = a++;
		}down--;
		for (int j = down; j >= up; j--)//左
		{
			arr[j][left] = a++;
		}left++;
	}
	for (int x = 0; x < n; x++)//打印
	{                   
		for (int j = 0; j < n; j++)
		{
			printf("%3d ", arr[x][j]);
		}
		puts("");
	}
	return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档