用C语言输入矩阵阶数,最大10阶。输入矩阵元素值,要求为正整数。把它翻转180度
时间: 2024-06-10 10:05:35 浏览: 79
输入矩阵阶数n,给n阶矩阵的元素按行序由1到n*n顺序赋值,然后将其向右旋转90度,输出旋转后的矩阵。
您好,感谢您使用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函数用于实现矩阵的翻转,具体实现过程为先将矩阵每行进行水平翻转,然后再将整个矩阵进行垂直翻转。注意,输入的矩阵元素值要求为正整数。
阅读全文