(C++题目)
题目描述:
在数字矩阵中,存在着一种名叫贪吃蛇矩阵的结构,它的原理是这样的:矩阵固定从最左上角开始且一定为1,依次向后赋值,每一次赋值的数都比上一次多1。当前行赋值完毕以后,反向顺序赋值下一行,重复这个步骤,直到矩阵赋值完成。此时的矩阵称为贪吃蛇矩阵。现请你设计一个程序,输入贪吃蛇矩阵的长和宽,输出这个贪吃蛇矩阵。
输入描述
1行,包含2个数n,m,代表贪吃蛇矩阵的长和宽。
输出描述
n行,每行包含m个数,代表贪吃蛇矩阵中的每一个数。
输入样例:
3 3
输出
1 2 3
6 5 4
提示
对于100%的数据,3<=n,m<=50。
运用知识点:二维数组
求本题中输出的思路!
(此题和网上的贪吃蛇矩阵不太一样,网上的是(螺旋矩阵):
1 2 3
8 9 4
7 6 5
而本题是(贪吃蛇(叠加S形)矩阵:
1 2 3
6 5 4
7 8 9
)
本人只能编到这里了:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,m;
cin >> n >> m;
int ans = 1,cnt = 0;
int a[n][m];
for (int i = 0;i < n;i++)
{
for (int j = 0;j < m;j++)
{
if(cnt == n || cnt == m)
{
break;
}
a[i][j] = ans;
ans++;
cnt++;
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}
(编辑器:Dev-C++ 5.11)