1027 打印沙漏:

#include
using namespace std;int main()
{int n;char x;cin>>n>>x;int count = 0;if(n<=0||n>1000)return 0;if(n == 1)cout<<x<<endl<<'0';else{n--;while(n >= 0){count ++;n -= 2*(2*count + 1); }n += 2*(2*count + 1); //剩下没用掉的符号数 int blank = 0; //打印空格 for(int i = 2*count - 1; i>0; i= i-2) //count是倒三角的层数 {for(int k=0; k<blank; k++){cout<<" ";}blank ++;for(int j = i; j>0; j--){cout<<x;}cout<<endl;}for(int i =3; i<=2*count - 1; i= i+2){for(int k = blank-2; k>0; k--){cout<<" ";} blank--;for(int j = i; j>0; j--){cout<<x;}cout<<endl;}cout<<n<<endl;}return 0;
}