原题链接:[编程入门]二维数组的转置
解题思路:
如题目要求,需要在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、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复