解题思路:
解题思路:声明两个数组a[3][3],b[3][3],后者存放转置后的元素。先用for循环嵌套输入a数组元素,接着(关键点)是转置:我们把二维数组看成矩阵,或者说坐标系,这样就很容易想到,行列互换就是横纵坐标对应的元素互换。用代码描述就是b[j][i]=a[i][j]。最后输出b数组就行了。
注意事项:输出b数组时不能把for循环嵌套这部分放到main函数中,不然会输出9个奇怪的数。因为,b数组作用域在自定义函数内。
还有,自定义函数中不要对数组a再定义,否则会重定义;也不要把数组b放到main函数中,不然自定义函数缺少数组b的声明。
注意事项:
参考代码:
#include <stdio.h>
void fun(int arr[3][3]){
int b[3][3];
for (int i=0;i<3;i++ ){
for(int j=0;j<3;j++){
b[j][i]=arr[i][j];
}
}
for (int i=0;i<3;i++){
for(int j=0;j<3;j++){
printf("%d ",b[i][j]);
}
printf("\n");
}
}
int main(){
int arr[3][3];
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
scanf("%d",&arr[i][j]);
}
}
fun(arr);
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题7.4 (Java代码)浏览:873 |
C语言训练-斐波纳契数列 (C语言代码)浏览:1271 |
【蟠桃记】 (C语言代码)浏览:711 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:1071 |
数组输出 (C语言代码)错误???浏览:602 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:909 |
A+B for Input-Output Practice (III) (C语言代码)浏览:592 |
WU-陶陶摘苹果2 (C++代码)浏览:1018 |
IP判断 (C语言代码)浏览:820 |
C语言考试练习题_保留字母 (C语言代码)浏览:743 |