怎么编程一个空心的梯形

时间:2025-03-04 14:30:23 明星趣事

要编程一个空心的梯形,你可以使用嵌套循环来控制每一行的打印。下面是一个简单的C++程序示例,它会根据用户输入的行数`n`打印出一个空心的梯形:

```cpp

include

int main() {

int n;

std::cout << "请输入梯形的高(行数): ";

std::cin >> n;

// 打印上底

for (int i = 1; i <= n; ++i) {

// 打印左侧空格

for (int j = 1; j <= n - i; ++j) {

std::cout << " ";

}

// 打印上底数字

for (int j = 1; j <= 2 * i - 1; ++j) {

std::cout << "*";

}

// 打印右侧空格

for (int j = 1; j <= n - i; ++j) {

std::cout << " ";

}

std::cout << std::endl;

}

// 打印中间部分

for (int i = n - 1; i >= 1; --i) {

// 打印左侧空格

for (int j = 1; j <= n - i; ++j) {

std::cout << " ";

}

// 打印左侧数字

for (int j = 1; j <= 2 * i - 1; ++j) {

std::cout << "*";

}

// 打印右侧数字

for (int j = 1; j <= 2 * (n - i) - 1; ++j) {

std::cout << "*";

}

// 打印右侧空格

for (int j = 1; j <= n - i; ++j) {

std::cout << " ";

}

std::cout << std::endl;

}

// 打印下底

for (int i = 1; i <= n; ++i) {

// 打印左侧空格

for (int j = 1; j <= n - i; ++j) {

std::cout << " ";

}

// 打印下底数字

for (int j = 1; j <= 2 * i - 1; ++j) {

std::cout << "*";

}

// 打印右侧空格

for (int j = 1; j <= n - i; ++j) {

std::cout << " ";

}

std::cout << std::endl;

}

return 0;

}

```

这个程序首先打印上底,然后是中间部分,最后是下底。每一行的打印都包含三个部分:左侧空格、中间的数字和右侧的空格。通过调整循环的次数和条件,可以打印出不同大小的空心梯形。

请注意,这个程序假设用户输入的是一个正整数。在实际应用中,你可能需要添加一些错误检查来确保用户输入的是有效的数据。