C语言代码一维数组排序 输入5×5矩阵A,完成下列要求(1)输出矩阵A。 (2)将第二行和第五行元素对调后,输出新的矩阵A1。 (3)用对角线上的各元素分别去除各元素所在行,输出新的矩阵A2。
时间: 2024-11-04 17:11:37 浏览: 27
在C语言中,你可以使用嵌套循环来创建、处理和输出二维数组。这里是一个简单的示例代码,用于实现上述需求:
```c
#include <stdio.h>
#define ROWS 5
#define COLS 5
void printMatrix(int A[ROWS][COLS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", A[i][j]);
}
printf("\n");
}
}
void swapRows(int A[ROWS][COLS], int row1, int row2) {
if (row1 != row2) {
int temp;
for (int col = 0; col < COLS; col++) {
temp = A[row1][col];
A[row1][col] = A[row2][col];
A[row2][col] = temp;
}
}
}
// 对角线上的元素分别去除对应行
void removeDiagonalElements(int A[ROWS][COLS]) {
for (int i = 0; i < ROWS && i < COLS; i++) {
A[i][i] = 0; // 去除对角线上元素
}
}
int main() {
int matrix[ROWS][COLS];
// 输入矩阵A
printf("Enter a 5x5 matrix:\n");
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 输出原始矩阵A
printMatrix(matrix);
printf("\n");
// 将第二行和第五行元素对调
swapRows(matrix, 1, 4); // 注意索引从0开始,所以这里是第2行和第5行
printMatrix(matrix);
printf("\n");
// 去除对角线元素并输出新矩阵A2
removeDiagonalElements(matrix);
printMatrix(matrix);
return 0;
}
```
阅读全文