编写一个C++函数模块(包含调用语句)实现如下菱形图案的打印,要求:该函数模块需有两个输入,第一个输入表示用什么符号填充,第二个输入为控制菱形的大小(用菱形的宽表示)
时间: 2024-09-23 07:09:06 浏览: 59
在C++中,你可以编写一个名为`printDiamond`的函数模块来生成指定符号填充的菱形。这里是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
// 函数模板,接收两个整数参数,用于打印菱形
template<typename T, int N>
void printDiamond(T symbol, int width) {
// 菱形顶部和底部的行数相等
for (int i = 0; i < N; ++i) {
// 判断当前行是否在中间部分
if (i <= N / 2 || i == N - 1) {
// 中间行打印空格,然后是符号
for (int j = 0; j < N - 2 * i; ++j)
cout << " ";
for (int j = 0; j <= i; ++j)
cout << symbol;
cout << endl;
} else {
// 倒数第二部分,每一行比上一行少一个符号
for (int j = 0; j < N - 2 * (i - N / 2); ++j)
cout << " ";
for (int j = i - N / 2; j >= 0; --j)
cout << symbol;
cout << endl;
}
}
}
int main() {
// 示例调用
printDiamond('*', 5); // 打印星号(*)的菱形,宽度为5
return 0;
}
```
在这个例子中,`<T>`是一个模板参数,代表填充符号的类型,`N`是菱形的宽度。在`main`函数里,我们通过`printDiamond('*', 5)`调用了这个函数,打印出一个由星号(*)组成的5x5菱形。
阅读全文