用沙漏来展示神奇的图案。
#include<bits/stdc++.h>
using namespace std;
int main(){
float h;char c;
scanf("%f %c",&h,&c);
int i=0;int sum=0;
int h1=(int)h/2;
int ip=0;
sum=sum+(2*i+1);
while(sum<h1){
i++;
sum=sum+(2*i+1);
}
int i1=i;//倒序的最后一行的空格数。
int i2=i;
sum=sum-(2*i+1);//cout<<sum;
// cout<<i;
int j2=2*i+1;
while(1){
int i4;
while(i!=-1){
int i3=2*i+1;
if((j2-i3)!=0){
for(i4=0;i4<((j2-i3)/2);i4++){
cout<<" ";
}
}
for(int j1=0;j1<(2*i+1);j1++)
cout<<c;
cout<<"\n";
ip++;
i--;
}sum=sum-1;//cout<<sum;
i=i+2;//i4=i4-1;//cout<<i;
int sum1=0;int s;
sum1+=2*i+1;
i4--;
ip--;
while(ip!=0){
int i5=2*i+1;
s=2*i+1;
if(i4!=0){
for(int h1=0;h1<i4;h1++){
cout<<" ";
}
}
for(int y1=0;y1<s;y1++){
cout<<c;
}cout<<"\n";
i4--; i++;
sum1+=2*i+1;
ip--;
}
break;
}
return 0;
}
?输入格式:任意一个整数,任意一个字符,即可。
输出结果为:
?
|