题目描述:
input:n,n为菱形的高
inout:高为n的菱形(形状如图所示)
//思路一:
int main(){
int n;
cin>>n;
int sum=2*n-1;//总行数
int k=1;//空格步长变量
int sumXin=1;//每行的总*
for(int i=1;i<=sum;i++){
for(int j=1;j<=n-k;j++){//核心:先输出空格,在输出*,把变量分离进行控制
cout<<' ';
}
int xin=1;
while(xin<=sumXin){//
cout<<'*';
xin++;
}
cout<<endl;
if(i<n){//正向输出
k++;
sumXin+=2;
}else{
k--;
sumXin-=2;
}
}
int sv;
cin>>sv;
return 0;
}
//思路二:
int main(){
//每减少一个‘ ’ 增加二倍的*
int n;
cin>>n;
if(n<=0){
return 0;
}
int sumRow=2*n-1;
int k=0;
int sumXin=1;
for(int i=1;i<=sumRow;i++){
for(int j=1;j<=n-k-1;j++){
cout<<' ';
}
for(int xin=1;xin<=sumXin+2*k;xin++){
cout<<'*';
}
cout<<endl;
if(i<n){
k++;
}else{
k--;
}
}
int gx;
cin>>gx;
return 0;
}