原题链接:[编程入门]二维数组的转置
解题思路:
如题目要求,需要在main函数中进行数组的输入,用自定义函数做转置处理。则自定义函数fun,其形参为二维数组。
若3*3数组中,存在行与列的下标相等,则不用交换两值;反之,定义一个临时变量用作两值的交换。
最后输出
注意事项:
脑子会转弯。
参考代码:
#include "stdio.h"
#define SIZE 3
void fun(int arr[][SIZE]){
for(int i = 0; i < SIZE; i++){
for(int j = i+1; j < SIZE; j++){
int tmp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = tmp;
}
}
for(int i = 0; i < SIZE; i++){
for(int j = 0; j < SIZE; j++){
printf("%d ",arr[i][j]);
}
printf("\n");
}
}
int main(){
int arr[SIZE][SIZE]={0};
for(int i = 0; i < SIZE; i++){
for(int j = 0; j < SIZE; j++){
scanf("%d",&arr[i][j]);
}
}
fun(arr);
return 0;
}0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复