您好,登錄后才能下訂單哦!
蛇形數(shù)組:
上面的數(shù)組就叫做蛇形數(shù)組。
如何打印蛇形數(shù)組:一定不要一行一行的考慮,不然就陷入誤區(qū)了。
#include<stdio.h> #include<stdlib.h> #define line 10 void initsarr(int arr[line][line]) { int i1 = 0; int j1 = 0; int m1 = line - 1; int n1 = line - 1; int k = 0; int i2; int j2; int m2; int n2; while (i1 <= m1&&j1 <= n1) { for (j2 = j1; j2 <= n1; j2++) //從第一行開始打印行 { k++; arr[i1][j2] = k; } for (i2 = i1 + 1; i2 <= m1; i2++) //從最后一列開始打印列 { k++; arr[i2][n1] = k; } for (n2 = n1 - 1; n2 >= j1; n2--) //從最后一行開始打印行 { k++; arr[m1][n2] = k; } for (m2 = m1 - 1; m2>i1; m2--) //從第一列開始打印列 { k++; arr[m2][j1] = k; } j1++; //準(zhǔn)備下一圈的打印 i1++; n1--; m1--; } } void output(int arr[line][line]) { int i; int j; for (i = 0; i<line; i++) { for (j = 0; j<line; j++) { printf("%5d", arr[i][j]); } printf("\n\n"); } } int main() { int arr[line][line]; initsarr(arr); output(arr); system("pause"); return 0; }
“之”字形打?。?/span>
上面這幅圖就是“之”字形打印出來的。
如何打印“之”字形:
#include<stdio.h> #include<stdlib.h> #define line 10 void output(int arr[line][line]) { int i; int j; for (i = 0; i<line; i++) { for (j = 0; j<line; j++) { printf("%5d", arr[i][j]); } printf("\n\n"); } } void initsarr(int arr[line][line]) { int i = 0; int j = 0; int k = 0; int i2; int j2; for (i = 0, j = 0; i<line&&j<line; i++, j++) { if (i % 2 == 0) //上三角形從左下到右上斜線的打印 { for (i2 = i, j2 = 0; i2 >= 0 && j2 <= j; i2--, j2++) { k++; arr[i2][j2] = k; } } else //上三角形從右上到左下斜線的打印 { for (j2 = j, i2 = 0; j2 >= 0 && i2 <= i; j2--, i2++) { k++; arr[i2][j2] = k; } } } for (i = line - 1, j = line - 1; i >= 0 && j >= 0; i--, j--) { if (i % 2 != 0) { //下三角形從左下到右上斜線的打印 for (i2 = line - 1, j2 = line - j; i2<line&&j2<line; i2--, j2++) { k++; arr[i2][j2] = k; } } else { //下三角形從右上到左下斜線的打印 for (i2 = line - 1, j2 = line - j; i2<line&&j2<line; i2--, j2++) { k++; arr[j2][i2] = k; } } } } int main() { int arr[line][line]; intput(arr); output(arr); system("pause"); return 0; }
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。