首页 > 代码库 > 1010: 蛇形矩阵
1010: 蛇形矩阵
Description
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
Input
本题有多组数据,每组数据由一个正整数N组成。(N不大于100)
Output
对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。
Sample Input
5
Sample Output
1 3 6 10 152 5 9 144 8 137 1211
<pre name="code" class="cpp">#include <iostream> #include <string> using namespace std; int main() { int n; while (cin >> n) { int num[100][100] = {0}; //开满一个完整矩阵 int N = 1; for (int sum = 0; sum < n; ++sum) { for (int i = n - 1; i >= 0; --i) //行递减 { for (int j = 0; j < n; ++j) //列递增 { if (i + j == sum) num[i][j] = N++; } } } //这个三重循环不好,但是不知道有没有别的方法可以做 int temp = n; //temp作为n的替身 for (int i = 0; i < n; ++i) { int sign = 0; for (int j = 0; j < temp; ++j) { if (sign++) //输出格式控制 cout << " "; cout << num[i][j]; } --temp; cout << endl; } } return 0; }
1010: 蛇形矩阵
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。