c语言将一个二维数组的行列互换 c语言:二维数组行列互换
C\u8bed\u8a00\uff0c\u5c06\u4e00\u4e2a\u4e8c\u7ef4\u6570\u7ec4a\u7684\u884c\u548c\u5217\u7684\u5143\u7d20\u4e92\u6362\uff0c\u5b58\u5230\u53e6\u4e00\u4e2a\u4e8c\u7ef4\u6570\u7ec4b\u4e2d\u3002\u5217\u5982 123 1 4 2 5 456 3 6\u770b\u6765\u4f60\u662f\u4e2a\u8d85\u7ea7\u5c0f\u83dc\u9e1f\u554a,\u89e3\u6790\u6ce8\u4e0a\u4e86,\u6162\u6162\u5b66\u4e60\u5427
main()
{ int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2],i,j;
printf("array a:\n"); //\u53cc\u5f15\u53f7\u91cc\u7684\u662f\u5b57\u7b26\u4e32\u63d0\u793a\u4fe1\u606f,\u4f5c\u7528\u662f\u5728\u5c4f\u5e55\u4e0a\u663e\u793a\u63d0\u793a
for(i=0;i<=1;i++) //\u5916\u5faa\u73afi\u904d\u5386a\u6570\u7ec4\u7684i\u884c
{
for(j=0;j<=2;j++) //\u5185\u5faa\u73afj\u662f\u5728i\u884c\u904d\u5386\u8be5\u884c\u6240\u6709\u7684\u6570\u7ec4\u5143\u7d20
{
printf("%5d",a[i][j]);
b[j][i]=a[i][j]; //\u8fd9\u4e2a\u5c31\u662f\u8fdb\u884c\u884c\u5217\u8f6c\u6362\u7684\u5173\u952e\u8bed\u53e5 \u5982 b[2][1]=a[1][2]
}
printf("\n");
}
printf("array b:\n"); //\u8fd9\u4e2a\u4e5f\u662f
for(i=0;i<=2;i++)
{
for(j=0;j<=1;j++)
printf("%5d",b[i][j]); //\u8f93\u51fa\u8f6c\u6362\u540eb\u6570\u7ec4\u7684\u7ed3\u679c
printf("\n");
}
\u7531\u4e8e\u884c\u3001\u5217\u4e0d\u786e\u5b9a\uff0c\u6240\u4ee5\u8981\u52a8\u6001\u5904\u7406\u3002\u4e3e\u4f8b\u4ee3\u7801\u5982\u4e0b\uff1a
//#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"#include "stdlib.h"int main(void){ int **a,**b,m,n,i,j; while(1){//\u4fdd\u8bc1\u8f93\u5165\u7684\u884c\u3001\u5217\u6570\u4e3a\u6b63\u6570 printf("Please enter m & n(int m>0,n>0)...\n"); if(scanf("%d%d",&m,&n),m>0 && n>0) break; printf("Error, redo: "); } a=(int **)malloc((j=sizeof(int))*m); b=(int **)malloc(j*n); if(a==NULL || b==NULL){ printf("Application memory failure...\n"); exit(0); } for(i=0;i<m;i++) if((a[i]=(int *)malloc(j*n))==NULL){ printf("Failed to create the array...\n"); exit(0); }for(i=0;i<n;i++) if((b[i]=(int *)malloc(j*m))==NULL){ printf("Failed to create the array...\n"); exit(0); } for(i=0;i<m;i++) for(j=0;j<n;scanf("%d",a[i]+j++)); printf("\n"); for(i=0;i<n;i++){ for(j=0;j<m;j++) printf("%d ",b[i][j]=a[j][i]);//a\u7684\u884c\u3001\u5217\u4e92\u6362\u540e\u5b58\u5165b printf("\n"); } for(i=0;i<m;free(a[i++])); free(a); for(i=0;i<n;free(b[i++])); free(b); return 0;}
int y[2][3]={
{1,2,3},
{4,5,6},
};
int index[2][3]={
{0x00,0x01,0x10},
{0x11,0x20,0x21},
};
int x[3][2];
int i,i1,temp;
for(i=0;i<2;i++){
for(i1=0;i1<3;i1++){
temp=index[i][i1];
x[temp>>4][temp&0xf]=y[i][i1];
}
}
用函数void fun(int *a, int *b, int NX, int NY);
NX,NY 是行列,列行。NX*NY 等于元素总个数。
#include<stdio.h>
void fun(int *a, int *b, int NX, int NY){
int i;
for (i=0;i<NX*NY;i++) b[i]=a[i];
}
int main()
{
int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2];
int i,j;
fun(&a[0][0], &b[0][0], 2, 3);
for (j=0;j<3;j++)
{
for (i=0;i<2;i++)printf("%d ",b[j][i]);
printf("\n");
}
return 0;
}
绛旓細姹夊瓧鍦ㄦí鍚戜笂鏄袱涓瓧绗︿负涓涓鍗曚綅鐨勶紝骞朵笖姣忎釜瀛楃鐨凙SCII鐮侀兘澶т簬127 include<stdio.h> void main(){ char ccstr[3][8]={ "涓浜屼笁","鍥涗簲鍏","涓冨叓涔" },ccstr1[3][8]; int i,j,n,k; n=3; for ( i=0;i<n;i++ ) printf("%s\n",ccstr[i]); printf("\n");...
绛旓細include<stdio.h> void main(){ void switchArray(int[3][3]);int array[][3]={{1,2,3},{4,5,6},{7,8,9}};int i,j;int(*pToArray)[3];pToArray=array;switchArray(pToArray);return 0;} void switchArray(int array[][3]){ int newArray[3][3],(*pTArr)[3],(*pT...
绛旓細鍦C璇█涓鍋囪鍘鏁扮粍涓篴锛浜掓崲琛屽垪鍚庣殑鏁扮粍涓篵锛歮ain(){ int a [2][3]={{1,2,3},{4,5,6}};int b [3][2],i,j;printf("Array a:\n");for (i=0;i<=1;i++){ for(j=0;j<=2;j++){ printf("%5d",a[i][j]);b[j][i]=a[i][j];} printf("\n");} printf...
绛旓細include<stdio.h> void main(){ int a[2][3]={{1,2,3},{4,5,6}};int b[3][2],i,j;printf("array a:\n");for(i=0;i<=1;i++){ for(j=0;j<=2;j++){ printf("%d",a[i][j]);b[j][i]=a[i][j];} printf("\n");} printf("array b:\n");//鎷彿鍐呬綘...
绛旓細for(j=0;j<3;++j) { b[j][i] = a[i][j]; } } printf("b鏁扮粍鐨鍐呭涓猴細\n"); for(i=0;i<3;++i) { for(j=0;j<2;++j) { printf("%d ",b[i][j]);
绛旓細include <stdio.h> int fun(int array[3][3]){ int i,j,temp;for(i=0;i<3;i++){ for(j=i;j<3;j++){ temp=array[i][j];array[i][j]=array[j][i];array[j][i]=temp;} } return 0;} int main(){ int i,j;int array[3][3]={{100,200,300}, {400,500,600}...
绛旓細main(){ int t,i,j,r[3][3]={{1,2,3},{7,8,9}};for(i=0;i<2;i++){ for(j=i;j<3;j++){t=r[i][j];r[i][j]=r[j][i];r[j][i]=t;} } for(i=0;i<3;i++){ for(j=0;j<2;j++)printf("%d ",r[i][j]);printf("\n");} } ...
绛旓細include <stdio.h>int main(){int a[3][3], b, c, d;for (b = 0; b<3; b++)for (c = 0; c<3; c++)scanf("%d",&a[b][c]);printf("\n");for (b = 0; b<3; b++)for (c = b+1; c<3; c++){d = a[b][c];a[b][c] = a[c][b];a[c][b] = ...
绛旓細include<stdio.h>#include<math.h>int main(){int i,j,a[2][3],b[3][2]; for(i=0;i<2;i++) for(j=0;j<3;j++) {scanf("%d",&a[i][j]); b[j][i]=a[i][j]; } printf("\n"); for(i=0;i<2;i++) {for(j=0;j<3;j++) printf("%4d"...
绛旓細include <stdio.h> include <stdlib.h> int main(){ int a[3][3]={1,2,3,4,5,6,7,8,9};int j,i,temp;for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);for(i=1;i<2;i++)for(j=0;j<=i;j++){ temp=a[i][j];a[i][j]=a[j][i];a[j...