用C语言输入矩阵阶数,最大10阶。输入矩阵元素值,要求为正整数。把它翻转180度
时间: 2024-06-10 12:05:35 浏览: 75
C语言程序设计-在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的平方和
5星 · 资源好评率100%
您好,感谢您使用ChitGPT进行询问。若您想用C语言翻转一个矩阵,您可以使用以下代码:
```
#include <stdio.h>
#include <stdlib.h>
#define MAX_MATRIX_SIZE 10
void reverse(int matrix[][MAX_MATRIX_SIZE], int size);
int main() {
int matrix[MAX_MATRIX_SIZE][MAX_MATRIX_SIZE];
int size;
printf("请输入矩阵的阶数(最大为10):");
scanf("%d", &size);
printf("请输入矩阵的元素:\n");
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
scanf("%d", &matrix[i][j]);
}
}
reverse(matrix, size);
printf("翻转后的矩阵为:\n");
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
void reverse(int matrix[][MAX_MATRIX_SIZE], int size) {
int temp;
for (int i = 0; i < size; i++) {
for (int j = 0; j < size / 2; j++) {
temp = matrix[i][j];
matrix[i][j] = matrix[i][size - j - 1];
matrix[i][size - j - 1] = temp;
}
}
for (int i = 0; i < size / 2; i++) {
for (int j = 0; j < size; j++) {
temp = matrix[i][j];
matrix[i][j] = matrix[size - i - 1][j];
matrix[size - i - 1][j] = temp;
}
}
}
```
其中reverse函数用于实现矩阵的翻转,具体实现过程为先将矩阵每行进行水平翻转,然后再将整个矩阵进行垂直翻转。注意,输入的矩阵元素值要求为正整数。
阅读全文