7-7 打印沙漏 分数 20 作者 陈越 单位 浙江大学 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ***** *** * *** *****
时间: 2023-11-14 21:08:32 浏览: 84
好的,我明白了。以下是我的回答:
我可以为您编写一个程序来实现打印沙漏的功能。您可以输入一个整数表示符号的数量,程序将会按照题目要求打印出相应的沙漏形状。
以下是示例代码:
```
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int k = 1, sum = 1;
while (sum <= n) {
k += 2;
sum += 2 * k;
}
k -= 2;
sum -= 2 * k;
for (int i = k; i >= 1; i -= 2) {
for (int j = 0; j < (k - i) / 2; j++) {
cout << " ";
}
for (int j = 0; j < i; j++) {
cout << "*";
}
cout << endl;
}
for (int i = 3; i <= k; i += 2) {
for (int j = 0; j < (k - i) / 2; j++) {
cout << " ";
}
for (int j = 0; j < i; j++) {
cout << "*";
}
cout << endl;
}
cout << n - sum << endl;
return 0;
}
```