蛇形數(shù)組和“之”字形打印

蛇形數(shù)組:蛇形數(shù)組和“之”字形打印

目前成都創(chuàng)新互聯(lián)公司已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、郊區(qū)網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

蛇形數(shù)組和“之”字形打印

上面的數(shù)組就叫做蛇形數(shù)組。

如何打印蛇形數(shù)組:一定不要一行一行的考慮,不然就陷入誤區(qū)了。

蛇形數(shù)組和“之”字形打印

蛇形數(shù)組和“之”字形打印

#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āi)始打印行
		{
			k++;
			arr[i1][j2] = k;
		}
		for (i2 = i1 + 1; i2 <= m1; i2++)             //從最后一列開(kāi)始打印列
		{
			k++;
			arr[i2][n1] = k;
		}
		for (n2 = n1 - 1; n2 >= j1; n2--)            //從最后一行開(kāi)始打印行
		{
			k++;
			arr[m1][n2] = k;
		}
		for (m2 = m1 - 1; m2>i1; m2--)                //從第一列開(kāi)始打印列
		{
			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;
}

“之”字形打?。?/p>

蛇形數(shù)組和“之”字形打印

蛇形數(shù)組和“之”字形打印

上面這幅圖就是“之”字形打印出來(lái)的。

如何打印“之”字形:

蛇形數(shù)組和“之”字形打印

蛇形數(shù)組和“之”字形打印

#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;
}

分享名稱:蛇形數(shù)組和“之”字形打印
文章位置:http://muchs.cn/article0/gdicoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、微信公眾號(hào)網(wǎng)站策劃、關(guān)鍵詞優(yōu)化網(wǎng)站排名、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)