NOS


私信TA

用户名:dotcpp0783769

访问量:126

签 名:

等  级
排  名 12017
经  验 997
参赛次数 0
文章发表 2
年  龄 19
在职情况 学生
学  校 B站大学
专  业 计算机与科学

  自我简介:

TA的其他文章

矩阵交换行
浏览:108

解题思路:

注意事项:

代码说明

宏定义:

#define SIZE 5 定义了矩阵的大小为5x5。

swapRows函数:

该函数用于交换矩阵中的两行。它使用一个临时数组 temp 来存储要交换的行元素。

printMatrix函数:

该函数用于输出矩阵,每行元素之间用空格分隔,每行结束后换行。

main函数:

读取输入的5x5矩阵。

读取要交换的行号(注意输入的行号是从1开始的,但数组索引是从0开始的,因此需要进行转换)。

调用 swapRows 函数进行行交换。

调用 printMatrix 函数输出交换后的矩阵。



参考代码:

#include <stdio.h>      

#define SIZE 5      

void swapRows(int matrix[SIZE][SIZE], int row1, int row2) {    

int temp[SIZE];    

for (int i = 0; i < SIZE; i++) {    

temp[i] = matrix[row1][i];    

matrix[row1][i] = matrix[row2][i];    

matrix[row2][i] = temp[i];    

}    

}    

void printMatrix(int matrix[SIZE][SIZE]) {    

for (int i = 0; i < SIZE; i++) {    

for (int j = 0; j < SIZE; j++) {    

printf("%d", matrix[i][j]);    

if (j < SIZE - 1) {    

printf(" ");    

}    

}    

printf("\n");    

}    

}    

int main() {    

int matrix[SIZE][SIZE];    

int m, n;    

// 读取矩阵      

for (int i = 0; i < SIZE; i++) {    

for (int j = 0; j < SIZE; j++) {    

scanf("%d", &matrix[i][j]);    

}    

}    

// 读取要交换的行号      

scanf("%d %d", &m, &n);    

// 确保行号在有效范围内      

if (m >= 1 && m <= 5 && n >= 1 && n <= 5) {    

m--; // 转换为0基索引      

n--;    

swapRows(matrix, m, n);    

}    

// 输出交换后的矩阵      

printMatrix(matrix);    

return 0;    

}    


 

0.0分

1 人评分

  评论区

  • «
  • »