顺时针打印矩阵
2013-09-16 17:09
197 查看
题目描述:
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.
输入:
输入可能包含多个测试样例,对于每个测试案例,
输入的第一行包括两个整数m和n(1<=m,n<=1000):表示矩阵的维数为m行n列。
接下来的m行,每行包括n个整数,表示矩阵的元素,其中每个元素a的取值范围为(1<=a<=10000)。
输出:
对应每个测试案例,输出一行,
按照从外向里以顺时针的顺序依次打印出每一个数字,每个数字后面都有一个空格。
样例输入:
样例输出:
答疑:解题遇到问题?分享解题心得?讨论本题请访问:http://t.jobdu.com/thread-8114-1-1.html
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.
输入:
输入可能包含多个测试样例,对于每个测试案例,
输入的第一行包括两个整数m和n(1<=m,n<=1000):表示矩阵的维数为m行n列。
接下来的m行,每行包括n个整数,表示矩阵的元素,其中每个元素a的取值范围为(1<=a<=10000)。
输出:
对应每个测试案例,输出一行,
按照从外向里以顺时针的顺序依次打印出每一个数字,每个数字后面都有一个空格。
样例输入:
4 41 2 3 45 6 7 89 10 11 1213 14 15 16
样例输出:
1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10
答疑:解题遇到问题?分享解题心得?讨论本题请访问:http://t.jobdu.com/thread-8114-1-1.html
#include<stdio.h> #define MAX 1002 int a[MAX][MAX] , vi[MAX][MAX]; int main(void) { int n , m ; while(scanf("%d %d",&n , &m )!=EOF){ int i , j ; for( i = 0 ; i < n ; i++ ) for( j = 0 ; j < m ; j++){ vi[i][j] = 0 ; scanf("%d",&a[i][j]); } int col1 = 0 , row1 = 0 , col2= n-1 , row2 = m-1 ; int min1 = m > n ?n :m ; min1 = (min1+1) / 2 ; while(min1--){ for( i = row1 ; i <= row2 && !vi[col1][i]; i ++ ){ printf("%d ",a[col1][i]); vi[col1][i] = 1; } for( i = col1 + 1 ; i <= col2 && !vi[i][row2] ; i ++){ printf("%d ",a[i][row2]); vi[i][row2] = 1 ; } for( i = row2-1 ; i >=row1 && !vi[col2][i]; i -- ){ printf("%d ",a[col2][i]); vi[col2][i] = 1; } for( i = col2-1 ; i>= col1 + 1 && !vi[i][row1] ; i --){ printf("%d ",a[i][row1]); vi[i][row1] = 1; } col1 ++ ; row1 ++ ; col2 -- ; row2-- ; } printf("\n"); } return 0 ; }
相关文章推荐
- 19.顺时针打印矩阵
- 顺时针打印矩阵
- 题目1391:顺时针打印矩阵
- 【剑指offer】面试题20:顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 剑指Offer(19)______顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印旋转打印矩阵
- 顺时针打印矩阵
- 剑指offer:顺时针打印矩阵
- 剑指offer-面试题20 顺时针打印矩阵
- 数据结构之顺时针打印矩阵
- 【剑指offer】之顺时针打印矩阵
- 【面试题】剑指Offer-20-顺时针打印矩阵
- 顺时针打印矩阵
- 【剑指offer】4.2画图让抽象问题形象化——面试题20:顺时针打印矩阵
- 20 顺时针打印矩阵
- 算法题/顺时针打印矩阵
- 面试题20:顺时针打印矩阵 ***