解题思路:
解题思路:声明两个数组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 人评分
简单的a+b (C语言代码)浏览:530 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:5232 |
WU-格式化数据输出 (C++代码)浏览:1212 |
WU-小九九 (C++代码)浏览:1684 |
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:349 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:542 |
The 3n + 1 problem (C语言代码)浏览:554 |
水仙花 (C语言代码)浏览:1052 |
printf基础练习2 (C语言代码)浏览:618 |
大家好,我是验题君浏览:577 |