输入第一行包括由空格分开的整数M、N、T
其中M和N分别表示待处理矩阵的行数与列数,T为0时表示左右翻转,为1时表示上下翻转
之后的M行,每行包括由空格分隔的N个整数,依次为输入矩阵的每一行的数据
输出包括M行N列,每个数字之间用一个空格分隔,每一行行末均有一个空格,表示的是按照要求翻转后的矩阵
C语言实现:
#include<stdio.h>
int main(){
int matrix[200][200]={0};
int Temp[1]={0};
int M,N,method;
scanf("%d%d%d",&M,&N,&method);
for(int i=0;i<M;i++)
{
for(int j=0;j<N;j++)
scanf("%d",&matrix[i][j]);
getchar();
}
if(method==1)
{
for(int p=0;p<M/2;p++)
{
for(int q=0;q<N;q++)
{
Temp[0]=matrix[p][q];
matrix[p][q]=matrix[M-p-1][q];
matrix[M-p-1][q]=Temp[0];
}
}
}
if(method==0)
{
for(int p=0;p<M;p++)
{
for(int q=0;q<N/2;q++)
{
Temp[0]=matrix[p][q];
matrix[p][q]=matrix[p][N-q-1];
matrix[p][N-q-1]=Temp[0];
}
}
}
for(int p1=0;p1<M;p1++)
{
for(int j=0;j<N;j++)
printf("%d ",matrix[p1][j]);
printf("\n");
}
return 0;
}
上下:
左右: