首页 > 代码库 > 蛇形填数
蛇形填数
蛇形填数
描述
在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4
- 输入
- 直接输入方陈的维数,即n的值。(n<=100)
- 输出
- 输出结果是蛇形方陈。
- 样例输入
3
- 样例输出
7 8 16 9 25 4 3
#include <iostream>#include <iomanip>using namespace std;const int size = 101;void matrix(int arr[size][size],int n){ int m; int k = 0; if(n % 2 == 0) m = n / 2; else m = n /2 + 1; for(int i = 0;i <m; i++) { for(int j = i;j < n - i; j ++) { k ++; arr[j][n - i - 1] = k; } for(int j = n - i - 2; j>= i; j--) { k ++; arr[n - i - 1][j] = k; } for(int j = n - i - 2; j >=i; j--) { k ++; arr[j][i] = k; } for(int j = i + 1; j< n - i -1; j++) { k ++; arr[i][j] = k; } }} int main() { int a[101][101]; int value; cin>>value; matrix(a,value); for(int i = 0; i < value; i++) { for(int j = 0; j < value; j ++) { cout<<a[i][j]<<" "; } cout<<endl; } cout<<endl; return 0; }
蛇形填数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。