顺时针螺旋打印二维数组

一个二维数组以顺时针螺旋的方式打印出来

* 例如,对数组:

1     2    3    4    5

14  15  16  17   6

13  20  19  18   7

12  11  10   9    8

* 打印出来的序列应该是:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

 程序:

  1. #include <iostream>  
  2. using namespace std;  
  3.   
  4.   
  5. int main(int argc, char **argv){  
  6.   
  7.     int a[4][5]={{1,2,3,4,5},  
  8.                {14,15,16,17,6},  
  9.                {13,20,19,18,7},  
  10.                {12,11,10,9,8}};  
  11.     int left=0, right=4;  
  12.     int low=0, high=3;  
  13.     while(left<right||low<high)  
  14.     {  
  15.         for(int i=left; i<=right; i++){  
  16.             cout<<a[low][i]<<" ";  
  17.         }  
  18.         low++;  
  19.           
  20.         for(int i=low; i<=high; i++){  
  21.             cout<<a[i][right]<<" ";  
  22.         }  
  23.         right--;  
  24.           
  25.         for(int i=right; i>=left; i--){  
  26.             cout<<a[high][i]<<" ";  
  27.         }  
  28.         high--;  
  29.           
  30.         for(int i=high; i>=low; i--){  
  31.             cout<<a[i][left]<<" ";  
  32.         }  
  33.         left++;          
  34.     }      
  35.     return 0;     
  36. }  
阅读更多
个人分类: c/c++语言 找工作
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

顺时针螺旋打印二维数组

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭