利用取绝对值函数打印空心菱形用C++
时间: 2024-11-12 18:43:03 浏览: 17
C# 中如何取绝对值函数
在C++中,你可以通过嵌套循环以及取绝对值函数来打印空心菱形。这里是一个简单的示例,它首先计算出菱形的大小,然后利用`abs()`函数来控制行的填充字符数:
```cpp
#include <iostream>
#include <cmath>
// 定义打印空格的函数
void printSpaces(int n) {
for (int i = 0; i < n; ++i) {
std::cout << " ";
}
}
// 主函数打印菱形
void printHollowDiamond(int size) {
// 上半部分
for (int i = 0; i <= size; ++i) {
if (i == 0 || i == size) {
// 边角和中心行只打印星号
for (int j = 0; j < 2 * i + 1; ++j) {
std::cout << "*";
}
} else {
// 其他行打印星号和空格
printSpaces(size - i);
std::cout << "*";
printSpaces(2 * i - 1);
std::cout << "*";
}
std::cout << "\n";
}
// 下半部分对称
for (int i = size - 1; i >= 0; --i) {
printSpaces(size - i);
std::cout << "*";
printSpaces(2 * i - 1);
std::cout << "*";
}
}
int main() {
int size;
std::cout << "请输入菱形的大小:";
std::cin >> size;
printHollowDiamond(size);
return 0;
}
```
阅读全文