编写一个函数,使给定的一个3×3的二维整型数组转置,即行列互换 C语言。写一个函数,使给定的一个3X3的二维整型数组转置,即...

\u5199\u4e00\u4e2a\u51fd\u6570\uff0c\u4f7f\u7ed9\u5b9a\u7684\u4e00\u4e2a3\u00d73\u7684\u4e8c\u7ef4\u6574\u578b\u6570\u7ec4\u8f6c\u7f6e\uff0c\u5373\u884c\u5217\u4e92\u6362\u3002

#include
void main()
{
void change(int x[][3]);
int x[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int i,j;
printf("\u539f\u6570\u7ec4\u4e3a\n");
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
printf("%3d",x[i][j]);
}
printf("\n");
}
change(x);
printf("\u884c\u5217\u4e92\u6362\u540e\u7684\u6570\u7ec4\u4e3a\n");
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
printf("%3d",x[i][j]);
}
printf("\n");
}
}
void change(int x[][3])//\u51fd\u6570\u8c03\u7528change(x) \u8fd9\u91cc\u7684x\u662f\u6570\u7ec4

{
int a;
a=x[0][1];x[0][1]=x[1][0];x[1][0]=a;
a=x[0][2];x[0][2]=x[2][0];x[2][0]=a;
a=x[1][2];x[1][2]=x[2][1];x[2][1]=a;
}



\u4e0a\u9762\u7684\u7a0b\u5e8f\u6211\u5df2\u7ecf\u8c03\u8fc7\u4e86\uff0cint y\uff1b\u6ca1\u610f\u4e49\uff0c\u5b8c\u5168\u53ef\u4ee5\u4e0d\u8981\u3002
\u4f60\u5bf9\u6bd4\u4e00\u4e0b\u5c31\u77e5\u9053\u4e86\uff01

\u51fd\u6570\u8c03\u7528\uff1a
\u5206\u4e09\u90e8\u5206 1:\u51fd\u6570\u58f0\u660e
2:\u51fd\u6570\u8c03\u7528
3:\u51fd\u6570\u5b9a\u4e49

\u591a\u7f16\u51e0\u4e2a\u5c31\u89e3\u51b3\u4e86\u2026\u2026

\u65b9\u6cd5\u4e00\u3001
#include
void main(){
void switchArray(int[3][3]);
int array[][3]={{1,2,3},{4,5,6},{7,8,9}};
int i,j;
switchArray(array);
return 0;
}
void switchArray(int array[][3]){
int newArray[3][3];
int i,j;
for(i=0;i<3;i++){
for(j=0;j<3;j++){
newArray[j]=array[j];
}
}
for(i=0;i<3;i++){
for(j=0;j<3;j++){
printf("%d",newArray[j]);
}
printf("\n");
}
}
\u65b9\u6cd5\u4e8c\u3001\u7528\u6307\u9488\u5b9e\u73b0\uff1a
#include
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],(*pTNewArr)[3];
int i,j;
pTArr=array;
pTNewArr=newArray;
for(i=0;i<3;i++){
for(j=0;j<3;j++){
*(*(pTNewArr+j)+i)=*(*(pTArr+i)+j);
}
}
for(i=0;i<3;i++){
for(j=0;j<3;j++){
printf("%d",*(*(pTNewArr+i)+j));
}
printf("\n");
}
}

\u6269\u5c55\u8d44\u6599\uff1a\u7528\u6cd5\uff1a
1\u3001printf()\u51fd\u6570\u662f\u683c\u5f0f\u5316\u8f93\u51fa\u51fd\u6570,\u4e00\u822c\u7528\u4e8e\u5411\u6807\u51c6\u8f93\u51fa\u8bbe\u5907\u6309\u89c4\u5b9a\u683c\u5f0f\u8f93\u51fa\u4fe1\u606f\u3002
\u683c\u5f0f\u8f93\u51fa\uff0c\u5b83\u662fc\u8bed\u8a00\u4e2d\u4ea7\u751f\u683c\u5f0f\u5316\u8f93\u51fa\u7684\u51fd\u6570\uff08\u5728stdio.h\u4e2d\u5b9a\u4e49\uff09\u3002\u7528\u4e8e\u5411\u7ec8\u7aef\uff08\u663e\u793a\u5668\u3001\u63a7\u5236\u53f0\u7b49\uff09\u8f93\u51fa\u5b57\u7b26\u3002\u683c\u5f0f\u63a7\u5236\u7531\u8981\u8f93\u51fa\u7684\u6587\u5b57\u548c\u6570\u636e\u683c\u5f0f\u8bf4\u660e\u7ec4\u6210\u3002
\u8981\u8f93\u51fa\u7684\u6587\u5b57\u9664\u4e86\u53ef\u4ee5\u4f7f\u7528\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u7a7a\u683c\u548c\u4e00\u4e9b\u6570\u5b57\u7b26\u53f7\u4ee5\u5916\uff0c\u8fd8\u53ef\u4ee5\u4f7f\u7528\u4e00\u4e9b\u8f6c\u4e49\u5b57\u7b26\u8868\u793a\u7279\u6b8a\u7684\u542b\u4e49\u3002
\u7b80\u5355\u70b9\u7406\u89e3\u5c31\u662f\uff0c\u5728\u4e00\u6bb5\u7a0b\u5e8f\u4e2d\u4f60\u6b63\u786e\u4f7f\u7528\u8be5\u51fd\u6570\uff0c\u53ef\u4ee5\u5728\u8be5\u7a0b\u5e8f\u8fd0\u884c\u7684\u65f6\u5019\u8f93\u51fa\u4f60\u6240\u9700\u8981\u7684\u5185\u5bb9\u3002
2\u3001printf\u51fd\u6570\u662f\u4e00\u4e2a\u6807\u51c6\u5e93\u51fd\u6570\uff0c\u5b83\u7684\u51fd\u6570\u539f\u578b\u5728\u5934\u6587\u4ef6\u201cstdio.h\u201d\u4e2d\u3002\u4f46\u4f5c\u4e3a\u4e00\u4e2a\u7279\u4f8b\uff0c\u4e0d\u8981\u6c42\u5728\u4f7f\u7528printf\u51fd\u6570\u4e4b\u524d\u5fc5\u987b\u5305\u542bstdio.h\u6587\u4ef6\u3002
printf()\u51fd\u6570\u7684\u8c03\u7528\u683c\u5f0f\u4e3a:printf("",)\u3002
\u5176\u4e2d\u683c\u5f0f\u5316\u5b57\u7b26\u4e32\u7528\u4e8e\u6307\u5b9a\u8f93\u51fa\u683c\u5f0f\u3002\u683c\u5f0f\u63a7\u5236\u4e32\u53ef\u7531\u683c\u5f0f\u5b57\u7b26\u4e32\u548c\u975e\u683c\u5f0f\u5b57\u7b26\u4e32\u4e24\u79cd\u7ec4\u6210\u3002

1、首先打开Eclipse。

2、新建一个新的Java工程。

3、新建一个Example8类文件。

4、创建2维数组。

5、创建一个输出2维数组的函数。

6、遍历数组,输出数组元素。

7、输出2维数组。

8、运行程序看看行列互换。



#include<stdio.h>
#define N 3
int score[N][N];
int main()
{
void convert(int score[][3]);
int i,j;
printf("input array:
");
for(i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%d",&score[i][j]);
for(i=0;i<N;i++)
{   for(j=0;j<N;j++)
printf("%d",score[i][j]);
printf("
");
}
convert(score);
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%d",score[i][j]);
printf("
");
}
return 0;
}
void convert(int array[][3])//注意形参
{
int i,j,t;//注意定义t而不是k
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
{ t=array[i][j];array[i][j]=array[j][i];array[j][i]=t; }
}

 



package com.minrisoft;public class wky { public static void main(String[] args) { int arr[][]= new int[][] { {11,22,33},{44,55,66},{77,88,99} }; System.out.println("行列互换前: "); printArray(arr); int arr2[][]= new int [arr.length][arr.length]; for (int i=0;i<arr.length;i++) { for (int j=0;j< arr[i].length;j++) { arr2[i][j]=arr[j][i]; } } System.out.println("行列互换后: "); printArray(arr2); } private static void printArray(int[][] arr) { for(int i=0;i<arr.length;i++) { for (int j = 0; j < arr.length; j++) { System.out.print(arr[j][i] + " "); } System. out .println();}}}

有两处错误,1处语法错误,1处逻辑错误
sort(a[3][3]);修改成sort(a);就可以
但是你运行一下,你可以发现他没有转置

因为 for(i=0;i<3;i++)
for(j=0;j<3;j++)把所有的元素都循环了,例如a[1][2]对换了,然后a[2][1]也对换了,实际上没有作用了就,你可以改成for(i=0;i<3;i++)
for(j=i;j<3;j++)
这样就不会重复对换,就可以实现转置的目的了

  • 濡備綍鐢–璇█绋嬪簭缂栧啓鈥滃埄鐢鍑芥暟灏缁欏畾鐨3*3浜岀淮鏁扮粍杞疆鈥
    绛旓細锛僫nclude锛渋ostream锛 usingnamespacestd锛泇oid zhuang zhi锛坕nt a锛3锛斤蓟3锛斤級锝沬nt m锛宯锛宨锛沠or锛坢锛0锛沵锛2锛沵锛嬶紜锛塮or锛坕锛0锛沬锛3锛沬锛嬶紜锛夛經if锛坢锛侊紳1锝滐綔i锛侊紳0锛夛經n锛漚锛籭锛斤蓟m锛斤紱a锛籭锛斤蓟m锛斤紳a锛籱锛斤蓟i锛斤紱a锛籱锛斤蓟i锛斤紳n锛涳綕 锝 锝 int main锛堬級锝 inta...
  • 鍐欎竴涓嚱鏁 浣跨粰瀹氫竴涓3*3鐨勪簩缁存暟缁勮浆缃嵆琛屽垪浜掓崲
    绛旓細void zhuanzhi(){ int a[3][3]={};char ch;cout<<"杈撳叆3*3鐨勪簩缁存暟缁勭殑鎵鏈夊厓绱狅細"<<endl;for(int i=0;i<3;i++)for(int j=0;j<3;j++){ cin>>ch;a[i][j]=ch;} cout<<"杈撳嚭3*3鐨勪簩缁存暟缁勭殑鎵鏈夊厓绱狅細"<<endl;for(int i=0;i<3;i++)for(int j=0;j<3;j++){ ...
  • ...瀵缁欏畾鐨3x3缁寸煩闃典腑鍏冪礌姹傚拰鍗冲皝瑁涓涓嚱鏁,杈撳叆涓涓簩缁寸煩闃,杈撳嚭...
    绛旓細include<stdio.h>int sum(int a[][3]){int s=0,i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) s+=a[i][j]; return s; }int main(){int i,j,s,a[3][3]; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); s=sum(a); pri...
  • 姹侰璇█绋嬪簭:缂栧啓涓涓嚱鏁,浣跨粰瀹氱殑涓涓浜岀淮鏁扮粍(3*3)杞疆銆傛劅婵...
    绛旓細printf("%d ",a[i][j]);printf("\n");} for(i=0;i<2;i++)for(j=i+1;j<3;j++){t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;} printf("杞疆鍚庣殑鏁扮粍:\n");for(i=0;i<3;i++){ for(j=0;j<3;j++)printf("%d ",a[i][j]);printf("\n");} getch();...
  • C缂栫▼鍐欎竴涓嚱鏁,浣跨粰瀹氱殑涓涓浜岀淮鏁扮粍(3*4)杩涜杞疆,鍗宠鍒楀湪銆佷簰鎹...
    绛旓細b[j] [i]=a[i] [j]杩欏氨鏄疄鐜扮煩闃佃浆缃簡銆俰琛宩鍒椾笌j琛宨鍒楄繘琛屼氦鎹紝浣跨敤涓棿鍙橀噺鏉ュ疄鐜颁氦鎹㈠笺
  • 鍐欎竴涓嚱鏁,浣跨粰瀹氱殑涓涓浜岀淮鏁扮粍3*4杩涜琛屽垪杞疆,鍗宠鍒椾簰鎹,骞惰緭鍑鸿浆 ...
    绛旓細include "stdio.h"void main(){ int a[3][4] = {{1,2,3,4},{5,6,7,8},{9,0,1,2}};int b[4][3];int i, j;printf("before transform :\n");for(i=0; i<3; i++){ for(j=0; j<4; j++){ b[j][i] = a[i][j];printf("%4d", a[i][j]);} printf("...
  • 缂栧啓涓涓3*3鐭╅樀杞疆鐨鍑芥暟,鍦╩ain()鍑芥暟涓緭鍏ユ暟鎹
    绛旓細2010-07-10 缂栧啓涓涓3*3鐭╅樀杞疆寰峰嚱鏁,鍦╩ain()鍑芥暟涓緭鍏ユ暟鎹 2 2014-12-17 C璇█澶х缁欏姏鍛! 灏涓涓3脳3闃剁煩闃佃浆缃,鐢ㄤ竴鍑芥暟瀹炵幇銆傚湪... 2 2013-12-18 c璇█锝炰娇鐢ㄥ嚱鏁 瀹屾垚3脳3鐭╅樀杞疆,杈撳叆涓鐭╅樀,杈撳嚭鍏惰浆缃... 11 2014-05-16 缂栧啓鍑芥暟,浣跨粰瀹氱殑n*n鐭╅樀杞疆,鍗宠鍒椾簰鎹傚湪main鍑芥暟...
  • 鍐欎竴涓嚱鏁,浣跨粰瀹氱殑涓涓浜岀淮鏁扮粍(3脳3)杞疆,鍗宠鍒椾簰鎹.
    绛旓細浣犵殑杈撳叆 杈撳嚭鏍煎紡閮借鎸夌収瀹冪殑鏍囧噯 浣犵殑杈撳嚭娌℃湁闂撮殧 鍜屾崲琛
  • 鐢垫皵涓夌彮c璇█澶嶄範棰樺簱鏄粈涔?
    绛旓細int flag=1,i;for(i=2;i<n/2&&flag= =1;i++) if(n%i= =0) flag=0;return(flag);}缂栧啓涓涓嚱鏁,浣跨粰瀹氱殑涓涓浜岀淮鏁扮粍(3脳3)杞疆,鍗宠鍒椾簰鎹#include<stdio.h>#define N 3int array[N][N];void main(){void convert(int array[][3]);int i,j;printf(鈥渋nput array:\n鈥);for(i...
  • c璇█闂 缂栧啓涓涓嚱鏁,姹傚嚭涓涓粰瀹氱殑鏁板瓧鐨勬墍鏈夊洜瀛,濡72=2*2*...
    绛旓細(3)涔嬪悗鐢5,...(4)涔嬪悗鐢7,... zubyzuby | 鍙戝竷浜2008-04-29 涓炬姤| 璇勮 0 0 #include <stdio.h> void fj(int); /* 璇存槑鍑芥暟 */main() { int a; printf("杈撳叆涓涓鏁:\t"); /* 杈撳叆鏁板瓧 */scanf("%d",&a); fj(a); } void fj(int a) { int t=a,b=2,i=0;while (b...
  • 扩展阅读:藏头诗生成器 ... 文言文翻译转换器 ... 编程if指令用法 ... if编程的范例 ... 中英文自动翻译器 ... matlab给定函数拟合 ... 编写一个函数判断回文 ... 函数公式大全及图解 ... 编写一个函数求1到n的和 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网