打印沙漏

发布时间 2023-04-19 20:37:01作者: 框框大吃的肉白菜
#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,i,j,s=0;
    char a;
    cin>>n>>a;
    int m=int(sqrt(double(n+1)/2));//算行数的公式,减少循环
    int f=2*m-1;
    for( i=0;i<m;i++){
        for( j=0;j<i;j++)cout<<" ";
        for(j=0;j<f-2*i;j++){cout<<a;s++;}
        cout<<endl;
    }
    for(i=m-2;i>=0;i--){
        for(j=0;j<i;j++)cout<<" ";
        for(j=0;j<f-2*i;j++){cout<<a;s++;}
        cout<<endl;
    }
    cout<<n-s;
}