画菱形(曼哈顿隔断)

[复制链接]
发表于 2026-2-11 00:54:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
输入一个奇数 nn,输出一个由 * 构成的 nn 阶实心菱形。
输入格式

一个奇数 nn。
输特别式

输出一个由 * 构成的 nn 阶实心菱形。
具体格式参照输出样例。
数据范围

1≤n≤991≤n≤99
输入样例:
  1. 5
复制代码
输出样例:
  1.   *  
  2. ***
  3. *****
  4. ***
  5.   *  
复制代码
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5.     int n;
  6.     cin>>n;
  7.     int cx=n/2,cy=n/2;
  8.     for(int i=0;i<n;i++)
  9.     {
  10.         for(int j=0;j<n;j++)
  11.         {
  12.             if(abs(i-cx)+abs(j-cy)<=n/2)//曼哈顿距离
  13.             cout<<'*';
  14.             else
  15.             cout<<' ';
  16.         }
  17.         cout<<endl;
  18.     }
  19. }
复制代码
在y总的报告中,在n=
5
的数据内里曼哈顿隔断应该是如许的
4 3 2 3 4
3 2 1 2 3
2 1 0 1 2
3 2 1 2 3
4 3 2 3 4

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表