#include<stdio.h>intget(intx,inty,intlt,intn){if(x==0)returnltyelseif(y==0)returnlt4*(n-1)-xelseif(y==n-1)returnltnx-1elseif(x==n-1)returnlt3*(n-1)-yelsereturnget(x-1,y-1,lt4*(n-1),n-2)}intmain(void){intn,i,jscanf("%d",&n)for(i=0i<ni){for(j=0j<nj)printf("-",get(i,j,1,n))putchar("\n")}return0}
正確代碼應(yīng)該如下::::注意的是旋轉(zhuǎn)90度哦。#include<stdio.h>#defineN4intmain{inta[N][N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}inti,j,(*p)[N]intt[N][N]//用于交換p=afor(i=0i<Ni){for(j=0j<Nj)printf("%d\t",p[i][j])printf("\n")}for(i=0i<Ni){for(j=0j<Nj){t[j][N-i-1]=p[i][j]}}printf("\n順時(shí)針旋轉(zhuǎn)后的方陣為:\n")for(i=0i<Ni){for(j=0j<Nj)printf("%d\t",t[i][j])printf("\n")}return0}附:你在用指針數(shù)組時(shí)注意在修改一個(gè)指針的值時(shí)修改了原來的值哦。有返回的,所以在下次使用時(shí)會(huì)出現(xiàn)不改修改的數(shù)據(jù)已經(jīng)被修改了的哦