题目描述
输入一个奇数n,输出一个由‘*’构成的n阶实心菱形。
别问,问就是找规律。
弱鸡C++ 代码
算法1 普通算法
这可以分为由中间分开成为的两个三角形(中间归为上面的三角形(废话))。
include[HTML_REMOVED]
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i)
{
if(i<(n+1)/2)//判断是否在上面的三角形
{
for(int j=0;j<(n-1)/2-i;j) cout<<” “;
for(int j=0;j<i2+1;j) cout<<”*”;
}
else
{
for(int j=0;j<i-(n-1)/2;j) cout<<” “;
for(int j=0;j<(n-i)2-1;j++) cout<<”*”;
}
cout<<endl;
}
}
算法2 优化版绝对值算法
参照滑稽_ωノ大佬代码
include[HTML_REMOVED]
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=-n/2;i<=n/2;i)
{
for(int j=0;j<abs(i);j) cout<<” “;
for(int j=0;j<=2(n/2-abs(i));j++) cout<<””;
cout<<endl;
}
}
作者:晓傲
链接:https://www.acwing.com/solution/content/19261/
来源:AcWing
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。