提示输出的最左下角为空格,明明是斜线,不解,求大佬帮忙看一下
查看原帖
提示输出的最左下角为空格,明明是斜线,不解,求大佬帮忙看一下
1189413
PURE_LOVE楼主2025/1/5 02:13
#include<bits/stdc++.h>
using namespace std;
int n = 0;
char x = '\\';
char y = '/';
char z = '_';
char arr[1024][1536];
int main()
{
	memset(arr, ' ', sizeof(arr));
	cin >> n;
	int a = pow(2, n-1);
	int b = 3 * a;
	int c = 2 * a;
	arr[c - 1][0] = y;
	arr[c - 1][1] = z;
	arr[c - 1][2] = x;
	arr[c - 2][1] = y;
	arr[c - 2][2] = x;
	int bx =2;
	int by = 3;
	for (int i = c - 1; i > 1&&n!=1; i -= bx)
	{
		i = c - 1;
		for (int j = i - bx;;)
		{
			for (int m = 0; m < bx; m++)
			{
				for (int k = 0; k < by; k++)
				{
					arr[j-m][k + by] = arr[i-m][k];
				}
			}
			break;
		}
		for (int m = 0; m < bx; m++)
		{
			for (int k = 0; k < by; k++)
			{
				arr[i-m][k + by] = arr[i-m][k];
			}
		}
		by *= 2;
		bx *= 2;
	}
	for (int i = 0; i <=c - 1; i++) 
	{
		for (int j = 0; j <=b - 1; j++)
		{
			cout << arr[i][j];
		}
		cout << endl;
	}
}
2025/1/5 02:13
加载中...