c語言矩陣順時針旋轉(zhuǎn)90度 誰能告訴我怎么用C語言寫數(shù)字螺旋方陣?
誰能告訴我怎么用C語言寫數(shù)字螺旋方陣?1. 這是一個5*5階的螺旋方陣。程序打印出這種形式的n*n(n<=15)階方陣(順時針旋轉(zhuǎn)),n由鍵盤輸入。┌ 1 2 3 4 5 │ 16 17 18 1
誰能告訴我怎么用C語言寫數(shù)字螺旋方陣?
1. 這是一個5*5階的螺旋方陣。程序打印出這種形式的n*n(n<=15)階方陣(順時針旋轉(zhuǎn)),n由鍵盤輸入。┌ 1 2 3 4 5 │ 16 17 18 19 6 │ 15 24 25 20 7 │ 14 23 22 21 8 │ 13 12 11 10 9 ┘ 2. 例行程序:
#包括和ltstdio。獲?。╥nt x,int y,int LT,int n){if(x==0)return LT y else if(y==0)return LT 4*(n-1)-x else if(y==n-1)return LT n x-1 else if(x==n-1)return LT 3*(n-1)-y else return get(x-1,y-1,LT 4*(n-1),n-2)}int main(void){int n,i,j scanf(%d,&n)for(i=0 i< n i){for(j=0 j< n j)printf(“-”,get(i,j,1,n))putchar(“n”)return 0}
正確的代碼如下:注意旋轉(zhuǎn)90度。#這是n4,int main()的定義{int a[N][N]={1,2,3,3,4,5,6,7,8,8,9,10,11,11,11,11,11,11,H>;n4,n4,H&T dio的定義。H>;n4,4,4,4,4,5,6,7,8,4,8,10,11,11,11,11,H>[N]int[N]int[N][N][N]//N[N]//這用于將P=a替換為(a)的(I=0I<ni)(I=0I<ni){[n[n[n]n[n]n[n]//n[n]//n[n]//n]//n[n]//n]//P=P=P=P=P=P=P=I][J]}Printf(“n順時針旋轉(zhuǎn)后的方陣為:n”)for(I=0I<ni){for(J=0j<nj)Printf(%dt“,t[i][J])printf(“n”)return 0}附件:使用指針數(shù)組時,修改指針值時要注意修改原值。有返回的數(shù)據(jù),所以下次使用它時,會有已修改的數(shù)據(jù),不會修改