- 输出一个二维数组。例如:
a = [ 1 2 3 4 5 6 ] a= \left[ \begin{matrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ \end{matrix} \right] a=[142536]
#include <stdio.h>
int main(){
int a[2][3];
int i,j;
printf("input six number:\n");
for(i=0;i<2;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<2;i++){
for(j=0;j<3;j++){
printf("%d",a[i][j]);
}
printf("\n");
//形成行列关键点-二维数组不能自动分开行列
//所以列完成的时候换一下行 形成行和列
}
return 0;
}
- 将一个二维数组行和列的元素互换,存到另一个二维数组中。例如:
a
=
[
1
2
3
4
5
6
]
a= \left[ \begin{matrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ \end{matrix} \right]
a=[142536]
变成
b
=
[
1
4
2
5
3
6
]
b= \left[ \begin{matrix} 1 & 4 \\ 2& 5 \\ 3 & 6 \end{matrix} \right]
b=⎣⎡123456⎦⎤
#include <stdio.h>
int main(){
int a[2][3];
int b[3][2],i,j;
printf("input six number:\n");
for(i=0;i<2;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
printf("array a :\n");
for(i=0;i<2;i++){
for(j=0;j<3;j++){
printf("%5d",a[i][j]);
b[j][i]=a[i][j];//将a数组元素赋值给b数组对应元素
}
printf("\n");
}
printf("array b :\n");
for(i=0;i<3;i++){
for(j=0;j<2;j++){
printf("%5d",b[i][j]);
}
printf("\n") ;
}
return 0;
}
3.将3x4的矩阵,求出其中值最大的那个元素的值,以及其所在的行号和列号
#include<stdio.h>
int main(){
int i,j,r,c,max;
int a[3][4];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++){
for(j=0;j<4;j++){
printf("%5d",a[i][j]);
}
printf("\n");
}
printf("\n");
max=a[0][0];
for(i=0;i<3;i++){
for(j=0;j<4;j++){
if(a[i][j]>max){
max=a[i][j];
r=i+1;
c=j+1;
}
}
}
printf("%d %d %d\n",max,r,c);
return 0;
}