算法矩阵打印2
2016-01-24 17:03
369 查看
输入任意n(1~100),程序将根据题目要求,打印矩阵:
如输入2,打印结果如下:
1 2
4 3
如输入3,打印结果如下:
1 2 3
8 9 4
7 6 5
输入4,打印结果如下:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
......
输入7打印结果如下:
1 2 3 4 5 6 7
24 25 26 27 28 29 8
23 40 41 42 43 30 9
22 39 48 49 44 31 10
21 38 47 46 45 32 11
20 37 36 35 34 33 12
19 18 17 16 15 14 13
如输入2,打印结果如下:
1 2
4 3
如输入3,打印结果如下:
1 2 3
8 9 4
7 6 5
输入4,打印结果如下:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
......
输入7打印结果如下:
1 2 3 4 5 6 7
24 25 26 27 28 29 8
23 40 41 42 43 30 9
22 39 48 49 44 31 10
21 38 47 46 45 32 11
20 37 36 35 34 33 12
19 18 17 16 15 14 13
#include<stdlib.h> #include<stdio.h> void fun(int n); //根据题目要求,打印n*n矩阵 int main(void) { int flag = 1 ; //标准位,判断是否继续测试代码 while(flag) { system("cls"); int n ; printf("please input the number (1~100): \n"); scanf("%d",&n); printf("the result is: \n"); fun(n); printf("Whether to continue testing, yes 1 no 0 : "); scanf("%d" , &flag); //是否继续检测,是 输入 1 ,否 输入 0 } system("PAUSE"); return 0; } void fun(int n) { int a[100][100] = {0}; //给100*100矩阵赋初值0; int j = 0 ; int i = 0 ; int number = 0 ; for(int k = 0 ; k < n/2 ; k++) // n/2 判断有几层内循环 { number++; for(j = k ; j < n-1-k ; j++) //横向打印矩形右上角部分 { a[i][j] = number; number++; } for(i = k ; i < n-1-k ; i++) //纵向打印矩形右上角部分 { a[i][j] = number; number++; } for( ; j > k ; j--) //横向打印矩形左下角部分 { a[i][j] = number; number++; } for( ; i > k ; i--) //纵向打印矩形左下角部分 { a[i][j] = number; number++; } i++; number--; } if(n%2 == 1) //判断n是否为奇数,如果为真,打印中间独立元素,如果为假,跳过此语句 { number++; a[n/2][n/2] = number; } for(i = 0 ; i < n; i++) // 依次打印 n*n 矩阵 每一个元素 { for( j = 0 ; j < n; j++) { printf("%d\t" , a[i][j]); } printf("\n"); } }
相关文章推荐
- Node.js(window)基础(1)——用cmd命令行访问某一文件夹下的js文件
- 云服务概念解析
- 新建Android项目报错"No resource found that matches the given name 'Theme.AppCompat.Light'."
- python核心编程-GUI程序之综合实例-简单文件浏览器
- 安卓动画之Frame动画
- EJB基础三 有状态EJB
- 乱七八糟却非常重要的一些东西
- Android aidl Binder框架浅析
- JavaScript去除字符串前后的空格
- 测试用例设计白皮书--等价类划分方法
- JavaEE Tutorials (9) - 运行持久化示例
- NASM一些特点
- 安卓动画之Tween动画
- 矩阵循环打印
- JavaEE Tutorials (8) - Java持久化API介绍
- Android轻量级JSON操作类
- SQL Server的分布式XA事务
- 实践新闻发布系统
- Android中AIDL使用例子
- View--Animation