拉丁方陣c語(yǔ)言編程 誰(shuí)能告訴我怎么用C語(yǔ)言寫數(shù)字螺旋方陣?
誰(shuí)能告訴我怎么用C語(yǔ)言寫數(shù)字螺旋方陣?1、下面是一個(gè)5*5階的螺旋方陣。編程打印出此形式的n*n(n<=15)階的方陣(順時(shí)針?lè)较蛐M(jìn)),n由鍵盤輸入。 ┌ 1 2 3 4
誰(shuí)能告訴我怎么用C語(yǔ)言寫數(shù)字螺旋方陣?
1、下面是一個(gè)5*5階的螺旋方陣。編程打印出此形式的n*n(n<=15)階的方陣(順時(shí)針?lè)较蛐M(jì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、例程:
#include <stdio.h>int get(int 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}
c語(yǔ)言編程數(shù)字矩形方陣?
正確代碼應(yīng)該如下::::注意的是旋轉(zhuǎn)90度哦。 #include<stdio.h> #define N 4 int main() { int a[N][N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} int i,j,(*p)[N] int t[N][N]//用于交換 p=a for(i=0i<Ni ) { for(j=0j<Nj ) printf("%dt",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("%dt",t[i][j]) printf("n") } return 0 } 附:你在用指針數(shù)組時(shí)注意在修改一個(gè)指針的值時(shí)修改了原來(lái)的值哦。有返回的,所以在下次使用時(shí)會(huì)出現(xiàn)不改修改的數(shù)據(jù)已經(jīng)被修改了的哦