解题思路和注意事项:
思路很简单,正常输入,输出的时候将i和j的位置换一下就好了
原理是数组的第一个下标先开始递增,输出的就是第一行的数其实就是原本的列。
参考代码:
#include<stdio.h> int main() { int a[3][3],i,j; for(i=0; i<3; i++){ for(j=0; j<3; j++){ scanf("%d",&a[i][j]); } } for(i=0; i<3; i++){ for(j=0; j<3; j++){ printf("%d ",a[j][i]); } printf("\n"); } return 0; }
0.0分
100 人评分
array[i][j]+=array[j][i]; array[j][i]=array[i][j]-array[j][i]; array[i][j]=array[i][j]-array[j][i]; 有点不懂,什么意思? 为什么要元素相加减
呃,写不了题解。可以参考下:(加减法) #include<stdio.h> void fun(float array[3][3]); int main() { float array[3][3]; int i,j; for (i=0;i<3;i++) { for (j=0;j<3;j++) scanf("%f",&array[i][j]); } fun(array); for(i=0;i<3;i++) { for(j=0;j<2;j++) printf("%.0f ",array[i][j]); printf("%.0f\n",array[i][j]); } return 0; } void fun(float array[3][3]) { int i,j; for (i=0;i<3;i++) { for(j=0;j<3;j++) { if (i!=j&&i<j) //相同的位置除外,变换过的不用再换 { array[i][j]+=array[j][i]; array[j][i]=array[i][j]-array[j][i]; array[i][j]=array[i][j]-array[j][i]; } } } }
Solotravel 2018-12-05 11:31:16 |
函数判断条件,只用i<j就行了,不用i!=j&&...
Solotravel 2018-12-05 11:31:30 |
i<j
Solotravel 2018-12-05 11:32:31 |
奇怪,发不了小于号。条件改为i小于j就行了
qianwen 2018-12-30 16:02:18 |
array[i][j]+=array[j][i]; array[j][i]=array[i][j]-array[j][i]; array[i][j]=array[i][j]-array[j][i];
qianwen 2018-12-30 16:02:35 |
请教 这三句什么意思
Solotravel 2019-01-02 10:14:57 |
@qianwenzhang 就是两个变量交换数值的意思,利用“加减法”。
Solotravel 2019-01-02 10:16:18 |
@qianwenzhang 比如:有两个变量a、b,a=1,b=2;那么,a+=b就是a=a+b=3,b=a-b=3-2=1,a=a-b=3-1=2,这样数值就交换过来了。
Solotravel 2019-01-02 10:20:45 |
@qianwenzhang 在数组中就是行列互换,如a[1][2]跟a[2][1]对换,加判断条件i<j就是避免重复对换,就是避免换过来之后又换回去。
qianwen 2019-01-04 17:29:01 |
@huodongquan 感谢
C语言考试练习题_排列 (C语言代码)浏览:1373 |
简单的a+b (C语言代码)浏览:583 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:485 |
wu-理财计划 (C++代码)浏览:907 |
Quadratic Equation (C语言代码)浏览:1034 |
复数求和 (C语言代码)浏览:994 |
C语言训练-大、小写问题 (C语言代码)浏览:719 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:593 |
小O的图案 (C语言代码)浏览:979 |
小O的数字 (C语言代码)浏览:1490 |
Solotravel 2019-01-02 10:27:43 |
把元素当成一个个变量,比如:有两个变量a、b要交换数值,若a=1,b=2,那么,a+=b就是a=a+b=3,b=a-b=3-2=1,a=a-b=3-1=2,这样数值就交换过来了。