怎样用C语言写矩阵?

Python018

怎样用C语言写矩阵?,第1张

用二维数组,如下:

#include <stdio.h>

main()

{

int i, j, a[4][4]

for ( i = 1i <4i++ )

{

for ( j = 1j <4j++ )

{

scanf ("%d", &a[i][j])

}

}

//这样就可以将一个3*3 的矩阵存在2维数组中了

for ( i = 1i <4i++ )

{

for ( j = 1j <4j++ )

{

printf (" %-4d ", a[i][j])

}

printf ("\n")

}

//这样就可以显示矩阵

return 0

}

两种方式可以参考:

1、最简单的就是二维数组,比如存储全是整形的一个m*n的矩阵。然后可以定义int a[m][n]。

输入或者输出可以用两层循环来完成,外层控制行m比如for(i=0i<m++i),内层控制列n比如for(j=0j<n++j)

2、第二种方式就是压缩矩阵进行存储,如果学了数据结构应该比较好理解。

结构体进行封装,比如:

第一步:先定义一个有效数据的位置

typedef struct node

{

int hangint lieint data//用来存储一个有效数据位的行列和值

}node

typedef struct matrix

{

node *m//一个数组,用来存储所有的node数据

int sum//记录一共有多少个有效数据位

}matrix

int

a[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}}这完全是举一个例子而已,没特别的意思,这用的是一个二维数组,可用循环求出最大值tc中显示不出汉字没什么影响,win-tc有中文运行环境,不过有些amd的cpu不支持,如果用c-free或vc++6.0的话就可以显示了。