数据结构上机(数组)
数组转置
1 #include <stdio.h> 2 int main(){ 3 int m,n; 4 printf("请依次输入数组的行、列:\n"); 5 scanf("%d%d",&m,&n); 6 7 int a[m][n]; 8 int i,j; 9 10 printf("原数组为:\n"); 11 for(i=0;i<m;i++){ 12 for(j=0;j<n;j++){ 13 scanf("%d",&a[i][j]); 14 } 15 } 16 17 printf("转置后的数组为:\n"); 18 for(i=0;i<n;i++){ 19 for(j=0;j<m;j++){ 20 printf("%d\t",a[j][i]); 21 } 22 printf("\n"); 23 } 24 return 0; 25 }
数组加减乘
1 #include <stdio.h> 2 int main(){ 3 int m,n; 4 printf("请依次输入数组的行、列:\n"); 5 scanf("%d%d",&m,&n); 6 7 int x[m][n],y[m][n],c1[m][n],c2[m][n],c3[m][n]; 8 int a,b,c,d,i,j; 9 10 printf("x[m][n]:\n"); 11 for(a=0;a<m;a++){ 12 for(b=0;b<n;b++){ 13 scanf("%d",&x[a][b]); 14 } 15 } 16 17 printf("y[m][n]:\n"); 18 for(c=0;c<m;c++){ 19 for(d=0;d<n;d++){ 20 scanf("%d",&y[c][d]); 21 } 22 } 23 24 printf("c1[m][n](x+y):\n"); 25 for(i=0;i<m;i++){ 26 for(j=0;j<n;j++){ 27 c1[i][j]=x[i][j]+y[i][j]; 28 printf("%d\t",c1[i][j]); 29 } 30 printf("\n"); 31 } 32 printf("c2[m][n](x-y):\n"); 33 for(i=0;i<m;i++){ 34 for(j=0;j<n;j++){ 35 c2[i][j]=x[i][j]-y[i][j]; 36 printf("%d\t",c2[i][j]); 37 } 38 printf("\n"); 39 } 40 printf("c3[m][n](x*y):\n"); 41 for(i=0;i<m;i++){ 42 for(j=0;j<n;j++){ 43 c3[i][j]=x[i][j]*y[i][j]; 44 printf("%d\t",c3[i][j]); 45 } 46 printf("\n"); 47 } 48 return 0; 49 }