蓝桥杯试题集试题总汇(C++)
问题描述
请编程输出一个菱形。输入为菱形中心到顶点的距离
样例输入
2
样例输出
分析
将菱形分为上层和下层,逐层输出。
参考代码
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n;
cin>>n;
int i;
for( i=1; i<=(2*n+1); i++)//上层(包括中间那层)
{
if(i<=n+1)
{
for(int j=n; j>=i; j--)//上层的空格,从一层n个,逐层减1
{
cout<<" ";
}
for(int k=1; k<=(2*i-1); k++)//上层的*的个数为层数的2倍减1
cout<<"*";
cout<<endl;
}
else//下层
{
for(int j=1; j<i-n; j++)//下层的空格,从1,逐层加1
{
cout<<" ";
}
for(int k=4*n+3; k>2*i; k--)//下层的*的个数,为2(2n+1-i)+1
cout<<"*";
cout<<endl;
}
}
}