c语言矩阵分为两种:
10余年的鄯善网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整鄯善建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“鄯善网站设计”,“鄯善网站推广”以来,每个客户项目都认真落实执行。
第一种方法是动态的申请矩阵存储空间,该方法的好处有以下两点:
1.能够动态的申请和释放存储空间;
2.对于将矩阵作为函数返回值的情况,该方法具有独特的优势。
第二种方法是静态存储实现,该方法的好处是简单、易实现,相对第一种方法缺点:
1.静态实现,不能动态的申请和释放空间,对电脑的内容要求高;
2.对于将矩阵作为函数返回值的情况,不能使用该方法。
scanf("%d,%d",i,j); //你输入时要带","比如 5,6 ,是"%d,%d"要求的,你可以去掉这个逗号然后输入 5 6 也行
涉及到除法,最好用float,不用 int.
in,out 没问题。
改正deal_1 的下标:
void deal_1 (int a[5][5]){
int b[5];
int i;
for(i=0;i5;i++) {
b[i]=a[1][i];
a[1][i]=a[4][i];
a[4][i]=b[i];
};
}
完善你的 deal_2:
void deal_2(int a[5][5]){
int i,j,b[5];
for (i=0;i5;i++) b[i]=a[i][i];
for (i=0;i5;i++){
for (j=0;j5;j++){
a[i][j]=a[i][j]/b[i];
}
}
}
涉及除法最好用float:
void deal_3(float a[5][5])
{
int i,j;
float b[5];
for (i=0;i5;i++) b[i]=a[i][i];
for (i=0;i5;i++){
for (j=0;j5;j++){
a[i][j]=a[i][j]/b[i];
}
}
}
void out2(float a[5][5]){
int i,j;
for(i=0;i5;i++)
{
for(j=0;j5;j++)
printf(" %f ",a[i][j]);
printf("\n");
}
}
========
主函数:
void main()
{
int a[5][5];
float f[5][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25};
in(a); out(a);
printf("\n");
deal_1(a);
out(a);
deal_2(a);
out(a);
deal_3(f);
out2(f);
}
用一个三维数组 或 两个二维数组
int a[2][2][2] 使用时用第三维度为0或1来判断是第几个矩阵
int a[2][2], b[2][2]使用二个不同的二维数组来存储矩阵
int i, j, a[2][2][2]
for (i = 0; i 2; i++)
for (j = 0; j 2; j++)
scanf("%d", a[i][j][0]);
或
int i, j, a[2][2]
for (i = 0; i 2; i++)
for (j = 0; j 2; j++)
scanf("%d", a[i][j]);
楼主你好
具体代码如下:
#includestdio.h
int main()
{
int a[3][3];
int i=0,j;
printf("请输入3*3的矩阵\n");
while(i3)//实现一行一行地输入数据
{
printf("请输入第%d行数据:\n",i+1);
for(j=0;j3;j++)
scanf("%d",a[i][j]);
i++;
}
printf("输出矩阵:\n");//这里是打印矩阵 验证程序结果
for(i=0;i3;i++)
{
for(j=0;j3;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}
希望能帮助你哈