程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 螺旋方陣

螺旋方陣

編輯:關於C語言

   大一無聊的時候敲的一個程序,那時候敲了一順時針的,現在無聊,把逆時針的也敲了出來。


   順時針螺旋方陣

   

#include <stdio.h>
//宏定義,定義螺旋矩陣的階數,要想改變數組的階數,只需在改變N的值即可
#define N 5
void main()
{
     int n,i,j,m=1;
     int a[N][N]={0};//定義螺旋數組,並初始化
     //螺旋數組的實現
     for(n=0;n<=N/2;n++)
     {
          for(j=n;j<N-n;j++)
                a[n][j]=m++;
          for(i=n+1;i<N-n;i++)
                a[i][N-n-1]=m++;
          for(j=N-n-2;j>=n;j--)
                a[N-n-1][j]=m++;
          for(i=N-n-2;i>n;i--)
                a[i][n]=m++;
     }
     //輸出螺旋數組
     for(i=0;i<N;i++)
     {
          for(j=0;j<N;j++)
                printf("%4d",a[i][j]);
                printf("\n");
     }
}


   逆時針螺旋方陣

#include <stdio.h>
//宏定義,定義螺旋矩陣的階數,要想改變數組的階數,只需在改變N的值即可
#define N 5
void main()
{
    int n,i,j,m=1;
    int a[N][N]={0};//定義螺旋數組,並初始化
    //螺旋數組的實現
    for(n=0;n<=N/2;n++)
    {
        for(j=n;j<N-n;j++)
            a[j][n]=m++;
        for(i=n+1;i<N-n;i++)
            a[N-n-1][i]=m++;
        for(j=N-n-2;j>=n;j--)
            a[j][N-n-1]=m++;
        for(i=N-n-2;i>n;i--)
            a[n][i]=m++;
    }
    //輸出螺旋數組
    for(i=0;i<N;i++)
    {
        for(j=0;j<N;j++)
            printf("%4d",a[i][j]);
        printf("\n");
    }
}


其實,只要順時針的弄出來了,逆時針也就很容易了。

本文出自 “淡定的dreamer” 博客,請務必保留此出處http://idiotxl1020.blog.51cto.com/6419277/1288617

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved