int a[5 ][4 ]=2,5,-86,31 32,1,0,798 3,4,5,6 25,61,33,92 -51,21,37,96 这个数组中,一共有五行,怎样将任意两行交换,然后输出。输入格式为”%d%d”,输出数组元素的格式为”%5d”。
3条回答 默认 最新
- threenewbee 2023-03-29 14:32关注
#include <stdio.h> #define ROWS 5 #define COLS 4 void swap_rows(int arr[ROWS][COLS], int m, int n) { int temp[COLS]; for (int i = 0; i < COLS; i++) { temp[i] = arr[m][i]; arr[m][i] = arr[n][i]; arr[n][i] = temp[i]; } } int main() { int arr[ROWS][COLS] = {2,5,-86,31},{32,1,0,798},{3,4,5,6},{25,61,33,92},{-51,21,37,96}}; printf("原始:\n"); for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { printf("%2d ", arr[i][j]); } printf("\n"); } printf("\n"); int m, n; printf("输入m n"); scanf("%d %d", &m, &n); swap_rows(arr, m - 1, n - 1); printf("交换后:\n"); for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { printf("%2d ", arr[i][j]); } printf("\n"); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录展开全部4条评论