文章
1
粉丝
0
获赞
4
访问
552
用abs(), 可读性差一点
空格以n为轴,所以是abs(i-n+1)
每一行左半边*的数量和空格数量的和为n,所以是n-abs(),再*2-1
#include <iostream>
#include <cmath>
#include <string>
using namespace std;
void diamond(int n) {
for (int i = 0; i < 2*n-1; i++) {
cout << string(abs(i - n + 1), ' ')
<< string(2*(n-abs(i-n+1)) - 1, '*')
<< endl;
}
}
int main() {
int n;
cin >> n;
diamond(n);
return 0;
}
登录后发布评论
暂无评论,来抢沙发