思考了两下 没想到点 怎么根据从里到外 好像得需要用到双重for 求给出讲解
1条回答 默认 最新
关注 int main() { int n = 0; scanf("%d", &n); int i = 0; int j = 0; int num = 1; int a[12][12] = { 0 }; int t = ceil(1.0 * n / 2);//转的圈数为行数除以2,如果行数是奇数还要+1,其实就是ceil。 for (int i = 0; i<t; i++) { for (int j = i; j < n - i; j++) { a[i][j] = num++;//向右 } for (int j = i + 1; j < n - i;j++) { a[j][n - i - 1] = num++;//向下 } for (j = n - i - 2; j >= i;j--) { a[n - i - 1][j] = num++;//向左 } for (j = n - i - 2; j >= i + 1;j--) { a[j][i] = num++;//向上 } } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { printf("%3d", a[i][j]); } printf("\n"); } return 0; }
解决 无用评论 打赏 举报
悬赏问题
- ¥15 halcon ocr mlp 识别问题
- ¥15 已知曲线满足正余弦函数,根据其峰值,还原出整条曲线
- ¥20 无法创建新的堆栈防护界面
- ¥15 sessionStorage在vue中的用法
- ¥15 wordpress更换域名后用户图片头像不显示
- ¥15 如何在ubunto上安装CEF (Chromium Embedded Framework),并且基于qt实现打开一个web
- ¥30 AD9854 为什么输出波形幅度受限,AI机器人勿扰
- ¥15 如何在ubunto上安装CEF (Chromium Embedded Framework
- ¥15 如何联系真正的开发者而非公司
- ¥15 有偿求苍穹外卖环境配置