1 条题解
-
0
C :
#include<stdio.h> int main() { int n,i,j,a,b; while(1) { scanf("%d",&n); if(n==0) { break; } int arr[n][n]; for(i=0;i<n;i++) { for(j=0;j<n;j++) { arr[i][j]=0; } } if(n%2) { a=n/2+1; for(b=0;b<a;b++) { for(i=0+b;i<n-b;i++) { for(j=0+b;j<n-b;j++) { arr[i][j]+=1; } } } } else { a=n/2; for(b=0;b<a;b++) { for(i=0+b;i<n-b;i++) { for(j=0+b;j<n-b;j++) { arr[i][j]+=1; } } } } for(i=0;i<n;i++) { for(j=0;j<n-1;j++) { printf("%d ",arr[i][j]); } printf("%d",arr[i][j]); printf("\n"); } printf("\n"); } return 0; }C++ :
#include<iostream> #include<algorithm> #include<cstdio> #include<cstring> using namespace std; const int N = 110; int n; int a[N][N]; int main() { while(cin >> n, n) { for (int i = 0; i < n; i ++ ) for (int j = 0; j < n; j ++ ) { if (n % 2) a[i][j] = (n + 1) / 2 - max(abs(i - n / 2), abs(j - n / 2)); else a[i][j] = (n - 1) / 2.0 - max(abs((n - 1) / 2.0 - i), abs((n - 1) / 2.0 - j)) + 1; } for (int i = 0; i < n; i ++ ) { for (int j = 0; j < n; j ++ ) cout << a[i][j] << ' '; cout << endl; } cout << endl; } return 0; }
- 1
信息
- ID
- 677
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 8
- 标签
- 提交数
- 144
- 已通过
- 19
- 上传者