【c】矩阵翻转2

晓萌最近在做一个翻转图片的应用,你可能也知道,图片其实是由一个个的点组成的。于是,晓萌想先做一个可以翻转矩阵的程序,来解决他问题的核心部分。

输入第一行包括由空格分开的整数M、N、T(0 < M < 200,0 < N < 200,T=0或1),其中M和N分别表示待处理矩阵的行数与列数,T为0时表示左右翻转,为1时表示上下翻转。

之后的M行,每行包括由空格分隔的N个整数,依次为输入矩阵的每一行的数据。

输出包括M行N列,每个数字之间用一个空格分隔,每一行行末均有一个空格,表示的是按照要求翻转后的矩阵。

这是题目

在看了参考答案之后,又经过一个小时左右的思考,终于实现了这个程序

【c】矩阵翻转2_第1张图片

这个注释是我自己标注的哦!

这个题目最开始真的是看不懂,今天晚上照着参考答案慢慢看才看懂题目的意思

1,for循环有点多,输入,处理,输出,都需要for,而且还有两层嵌套

2,左右翻转和上下翻转的处理步骤没有看懂,原来的参考答案写的是after[i][j] =before[M-1-i][j];

没错,只是M-1-i就把我蒙住了

还有i,j,m,n表示的是行数还是列数也很困惑了一阵

3,注意到没有,我的程序里MNT都是小写的,而且有额外的初始化

因为code blocks给我报了warning

尽管在计蒜客成功通过,但为了代码的规范化,比如我现在牢牢记住的常量大写变量小写,就改成了这样

4,另外,我这次出的error很少,一个原因是因为我照着答案抄,一个原因是这次没有中英文输入切换方面的问题了

唯一的error是输入语句中MNT没有加&

 

你可能感兴趣的:(【c】矩阵翻转2)