矩阵问题c语言Word文件下载.docx

上传人:b****5 文档编号:19409602 上传时间:2023-01-06 格式:DOCX 页数:22 大小:55.90KB
下载 相关 举报
矩阵问题c语言Word文件下载.docx_第1页
第1页 / 共22页
矩阵问题c语言Word文件下载.docx_第2页
第2页 / 共22页
矩阵问题c语言Word文件下载.docx_第3页
第3页 / 共22页
矩阵问题c语言Word文件下载.docx_第4页
第4页 / 共22页
矩阵问题c语言Word文件下载.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

矩阵问题c语言Word文件下载.docx

《矩阵问题c语言Word文件下载.docx》由会员分享,可在线阅读,更多相关《矩阵问题c语言Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。

矩阵问题c语言Word文件下载.docx

i++)

{

for(j=1;

j<

j++)

{k=i>

j?

j:

i;

printf("

%4d"

k);

}

printf("

\n"

}

}

2)

右下拐角

{if(i<

=j)

n+1-j);

else

n+1-i);

3)左下拐角

{if(i+j<

=n+1)

j);

4)右上拐角

i);

4.回形矩阵

方法1:

四个拐角矩阵拼合而成。

方法1改进:

减少判断条件。

main()

{inti,j,k,n,mi,ma;

{mi=i<

=n+1-i?

i:

n+1-i;

ma=n+1-mi;

{k=j<

mi?

ma<

n+1-j:

mi;

%3d"

putchar('

\n'

方法2:

利用对称性。

#defineN20

{

inta[N][N]={0},i,j,Q,n;

n="

Q=n/2+1;

=Q;

for(j=1;

{if(i<

a[i][j]=i;

a[i][j]=j;

a[i][n+1-j]=a[i][j];

a[n+1-i][j]=a[i][j];

a[n+1-i][n+1-j]=a[i][j];

{for(j=1;

a[i][j]);

方法3:

按圈打。

intmin(inta,intb,intc,intd)

intm=a;

if(m>

b)m=b;

c)m=c;

d)m=d;

returnm;

{for(j=1;

{k=min(i,j,n+1-i,n+1-j);

5.螺旋矩阵

16

15

14

13

17

24

23

12

18

25

22

11

19

20

21

10

6

7

8

9

拟人法:

按圈行走

inta[N][N]={0};

intn,s,i,j,edge;

edge=n,s=1;

i=j=1;

do{

while(a[i][j]==0&

&

i<

=edge)

{a[i][j]=s;

s++;

i++;

i--;

j++;

j<

j--;

i--;

i>

=n+1-edge)

i++;

j--;

j>

j++;

}while(s<

=n*n);

解析法:

按区域填空

{intn,i,j,k,s,d,l;

inta[20][20]={0};

scanf("

for(k=1;

k<

=n*n;

k++)

{a[i][j]=k;

if(i+j<

n+1&

=j-1)i++;

elseif(i>

j&

i+j>

=n+1)j++;

elseif(i+j>

=j)i--;

elseif(i+j<

=n+1&

j-1)j--;

按圈、段,位置填空

{staticinta[N][N];

inti,j,D,Q,G,n,k,m,s;

if(i>

=j&

i+j<

n+1)

{D=1;

Q=j;

G=i-(Q-1);

elseif(i+j>

j)

{D=2;

Q=n+1-i;

G=j-(Q-1);

elseif(i<

{D=3;

Q=n+1-j;

G=n+1-i-(Q-1);

{D=4;

Q=i;

G=n+1-j-(Q-1);

s=0;

m=n-1;

=Q-1;

s+=4*(m-2*(k-1));

a[i][j]=s+(D-1)*(m-2*(Q-1))+G;

6.斜行矩阵

inti=1,j=1,n,k=1;

a[1][1]=k;

while(k++<

=25)

if(i==n)

{i=j+1;

j=n;

a[i][j]=k;

elseif(j==1)

{j=i+1;

i=1;

{i++;

7.蛇形矩阵

staticinta[N][N];

inti,j,n,d,k;

d=1;

a[i][j]=k;

i-=d;

j+=d;

if(i==n+1){i=n;

j+=2;

d=-d;

elseif(j==n+1){i+=2;

elseif(i==0){i=1;

elseif(j==0){j=1;

8.杨辉三角阵

使用二维数组

include<

inti,j,n;

a[0][0]=1;

=i;

a[i][j]=a[i-1][j-1]+a[i-1][j];

使用一维数组

staticinta[N];

a[1]=1;

{for(j=i;

j>

=1;

j--)

a[j]=a[j]+a[j-1];

a[j]);

9.直角三角阵

1)形式1

a[1][1]=1;

=n*(n+1)/2)

if(i==1)

j=1;

{i--;

i+j<

=n+1;

=n+1-i;

if(i==1&

j==1)

a[i][j]=1;

a[i][j]=a[i-1][1]+i-1;

a[i][j]=a[i][j-1]+j+(i-1);

按层打印

inti,j,n,L;

{L=i+j-1;

a[i][j]=L*(L-1)/2+1+j-1;

2)形式2

if(i+j==n+1)

{j=n+1-i+1;

3)形式3

4)形式4

{i=n+1-j+1;

1.打印星号图。

1)共打印3行,每列6个。

*

2)平行四边形

3)等腰三角形

4)菱形

共7行,上4行:

每i行先打印4-i个空格,再打印2i-1个‘*’号。

下3行:

行数递减时,每i行先打印4-i个空格,再打印2i-1个‘*’号。

对m行,n=m/2+1,先打印1~n行,再打印n-1~1行。

#include<

inti,j,n,m;

inputm"

m);

n=m/2+1;

=n-i;

putchar('

'

=2*i-1;

*'

for(i=n-1;

i>

0;

i--)

统一处理

math.h>

inti,j;

for(i=1;

=7;

{for(j=1;

=abs(i-4);

j++)printf("

for(j=1;

=7-2*abs(i-4);

*"

5)两个等腰三角形

6)两个平行四边形

2.打印字母等腰三角形

1)三角形的大小由键盘输入,如n=5,如图

A

B

C

D

E

F

G

H

I

2)打印字母对称的等腰三角形,三角形大小由键盘输入。

如图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 中国风

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1