输出一个梯形(排版问题)

题目描述:

输入一个高度h,输出一个高为h,上底边为h的梯形。

输入:

一个整数h(1<=h<=1000)。

输出:

h所对应的梯形。

样例输入:

4

样例输出:

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

 

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <map>
#include <stack>
using namespace std;

int main() {

    char a[1001][1001] = {' '}; //为了方便  1-10这样计算

    int h;
    cin >> h;

    int blowNumber = h + (h - 1) * 2; // 底边*的个数
    int firstStarIndex = blowNumber - h + 1; //第一行  *的起始下标 // 10 - 4 = 6 -->  7-8-9-10
    for(int i = 1; i <= h; i++) {
        for (int j = firstStarIndex; j <= blowNumber; j++) {
            a[i][j] = '*';
        }
        if (firstStarIndex >= 3) {
            firstStarIndex -= 2;
        }
    }

    for(int i = 1; i <= h; i++) {
        for (int j = 1; j <= blowNumber; j++) {
            cout << a[i][j];
        }
        cout << endl;
    }


}

#include <iostream>
#include <algorithm>

using namespace std;

char maze[101][101];


int main() {

	int h;
	while (cin >> h ) {
		int maxIndex = h + 2 * (h-1);
		int should = h;
		
		
		for (int i = 1; i <= h; i++) {
			for (int j = 1; j <= maxIndex; j++) {
				maze[i][j] = ' ';
			}
		}


		for (int i = 1; i <= h; i++) {
			for (int j = maxIndex; j >= maxIndex - should + 1; j--) {
				maze[i][j] = '*';
			}
			should += 2;
		}

		for (int i = 1; i <= h; i++) {
			for (int j = 1; j <= maxIndex; j++) {
				cout << maze[i][j];
			}
			cout << endl;
		}


	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 为了用 CSS 画出一个梯形,你可以使用 `transform: skew()` 函数来扭曲元素的形状。 这是一个简单的示例代码: ```css .trapezoid { width: 200px; height: 100px; background-color: red; transform: skew(20deg); } ``` 这将会创建一个宽度为 200 像素,高度为 100 像素的梯形,背景色为红色。在这个示例中,我们使用 `skew(20deg)` 扭曲了元素的形状,使它变成了一个梯形。你可以调整 `skew` 的参数来调整梯形的形状。 注意,使用 `transform` 属性会改变元素的布局,因此在使用这个方法时要小心。 另外,还有一种方法可以使用 `border` 属性来画出梯形,这里不再赘述。 ### 回答2: 在CSS中,可以使用一些技巧来绘制一个梯形。下面是一种方法: 首先,我们可以创建一个长方形的元素,并添加一个较大的宽度和一个较小的高度。然后,可以使用`transform`属性来旋转这个长方形,使之成为一个梯形。 在HTML中,创建一个`div`元素,并为其设置一个类名(例如`trapezoid`)。 ```html <div class="trapezoid"></div> ``` 在CSS样式表中,我们将使用`width`和`height`属性来定义长方形的尺寸,并使用`transform`属性来旋转这个长方形。通过设置`transform-origin`属性,可以指定旋转的中心点为元素的下边中点。 ```css .trapezoid { width: 200px; height: 0; border-bottom: 100px solid blue; /* 较大的宽度 */ border-left: 50px solid transparent; /* 较小的高度 */ border-right: 50px solid transparent; /* 较小的高度 */ transform: rotate(180deg); /* 旋转180度 */ transform-origin: bottom; } ``` 这样,我们就可以成功绘制出一个梯形形状的元素。通过调整`width`和`height`属性的值,可以自定义梯形的大小。 ### 回答3: 在CSS中绘制梯形可以使用以下方法: 1. 使用CSS的border属性绘制梯形: ``` <div class="trapezoid"></div> <style> .trapezoid { width: 200px; height: 0; border-left: 100px solid transparent; border-right: 100px solid transparent; border-bottom: 100px solid #333; } </style> ``` 此方法通过设置一个高度为0的元素,并设置左右边框为透明,底部边框为指定颜色,从而形成一个梯形。 2. 使用CSS的transform属性绘制梯形: ``` <div class="trapezoid"></div> <style> .trapezoid { width: 200px; height: 100px; background-color: #333; transform: perspective(200px) rotateX(60deg); } </style> ``` 此方法通过设置元素的背景颜色和形变属性,利用三维旋转效果将矩形元素变形为梯形。 以上是两种常用的方法来绘制梯形,具体的绘制效果和需求可以根据实际情况进行调整和修改。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值