题解
2023-07-26 14:13:26
发布于:河北
17阅读
0回复
0点赞
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
char arr[1000][1000]; //存放图形
int m; //笔画的宽度
int n; //字的高度
int w = 0; //字的宽度
//初始化图形,使得全是空格(句号)
void init(int m,int n)
{
w = m+n-1; // 算出字的宽度
for(int i = 1; i <= n; i++)
for(int j = 1; j <= w; j++)
arr[i][j] = '.' ;
}
//打印图形
void Print()
{
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= w; j++)
cout << arr[i][j] ;
cout << endl;
}
}
//处理
void dispose()
{
for(int i = 1; i <= n; i++)
{
//第一笔
for(int j = i; j < i+m; j++)
arr[i][j] = '*';
//第二笔
//从该层最后一个 * 开始遍历
for(int j = w-i+1; j > w-i-m+1; j--)
arr[i][j] = '*';
}
}
int main(int argc, char** argv) {
cin >> m >> n;
init(m,n);
dispose();
Print();
return 0;
}
这里空空如也
有帮助,赞一个