2017年鹅场模拟笔试之蛇型矩阵
2016-09-02 09:20
232 查看
原创内容,如需转载,请注明出处
题目大意:输入一个正数n,按顺时针方向打印n * n的蛇型矩阵。输入:
6
输出:
1 2 3 4 5 6
20 21 22 23 24 7
19 32 33 34 25 8
18 31 36 35 26 9
17 30 29 28 27 10
16 15 14 13 12 11
代码如下
#include <stdio.h> #include <stdlib.h> void snakeArr(int **arr,int n) { int val,i,j,left,right,low,high; left = low = 0; right = high = n -1; val = 0; while(left <= right && low <= high){ for(i = left; i <= right; i++){ arr[low][i] = ++val; } for(i = low + 1; i <= high; i++){ arr[i][right] = ++val; } for(i = right - 1; i >= left; i--){ arr[high][i] = ++val; } for(i = high - 1; i > low; i--){ arr[i][left] = ++val; } low++;left++;high--;right--; } printf("蛇型矩阵\n"); for(i = 0; i < n; i++){ for(j = 0; j < n; j++) printf("%5d ",arr[i][j]); printf("\n"); } } int main() { int **arr,i,n; scanf("%d",&n); arr = (int **)malloc(sizeof(int) * n); for(i = 0; i < n; i++) arr[i] = (int *)malloc(sizeof(int) * n); snakeArr(arr,n); system("pause"); return 0; }
相关文章推荐
- 2017年校招全国统一模拟笔试(第一场)编程题集合——超级素数幂
- 2017年爱奇艺校招模拟笔试编程
- 牛客网2017年校招全国统一模拟笔试(第一场)编程题 -- 好多鱼!
- 牛客网2017年校招全国统一模拟笔试(第一场)编程题集合
- 2017年校招全国统一模拟笔试(第三场)编程题集合(Javascript版)
- 2017年校招全国统一模拟笔试(第五场)
- 牛客网2017年校招全国统一模拟笔试(第一场)编程题集合
- 2017年校招全国统一模拟笔试(第五场)编程题集合(Javascript版)
- 2017年校招全国统一模拟笔试(第五场)偶串
- 2017年校招全国统一模拟笔试(第一场)编程题集合——连续整数
- 牛客网2017年校招全国统一模拟笔试(第三场)编程题集合
- 2017年校招全国统一模拟笔试(第三场)编程题集合
- 2017年校招全国统一模拟笔试(第五场)DNA
- 2017年校招全国统一模拟笔试(第三场)编程题集合--Python
- 2017年校招全国统一模拟笔试(第一场)编程题集合——循环单词
- 2017年校招全国统一模拟笔试(第四场)编程题集合--Python
- 【牛客网 2017年校招模拟笔试(第一场)】 序列和
- 2017年校招全国统一模拟笔试(第五场)
- 2017年校招全国统一模拟笔试(第二场)编程题集合--Python
- 2017年校招全国统一模拟笔试(第四场)_逃离农场