您现在的位置是:主页 > news > 中山网站制作策划/杭州做seo的公司
中山网站制作策划/杭州做seo的公司
admin2025/6/14 3:39:02【news】
简介中山网站制作策划,杭州做seo的公司,分类信息网站如何做优化,网易企业邮箱的登录方法【问题描述】输入一个正整数 n,输出 nn 的回型方阵。例如,n5 时,输出:1 1 1 1 11 2 2 2 11 2 3 2 11 2 2 2 11 1 1 1 1【输入格式】一行一个正整数 n,2≤n≤9。【输出格式】共 n 行,每行包含 n 个正整数&am…

【问题描述】
输入一个正整数 n,输出 n×n 的回型方阵。例如,n=5 时,输出:
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
【输入格式】
一行一个正整数 n,2≤n≤9。
【输出格式】
共 n 行,每行包含 n 个正整数,之间用一个空格隔开。
【输入样例】
5
【输出样例】
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
【问题分析】
定义一个二维数组 a[n][n] 存储回型方阵。
方法1、

和小李老师一起学编程晋城
先给左上角的 a[n/2][n/2] 赋值,a[i][j] = min(i,j),右上角、左下角、右下角三部分,通过下标的对称性复制过去即可。例如,a[i][n+1-j] = a[n+1-i][j] = a[n+1-i] [n+1-j] = a[i][j]。
方法2、

和小李老师一起学编程晋城
通过“一圈一圈”赋值的方法做,先给 a[1][1] ~ a[n][n] 全部赋值 1,然后给 a[2][2] ~ a[n-1][n-1] 全部赋值 2,……共 n/2 圈(如果 n 是奇数,则最后一圈就是一个数)。
方法一
#includeusing namespace std;int n,i,j,k,mi,ma,a[10][10];int main(){ cin >> n; for(i = 1; i <= (n+1)/2; i++) for(j = 1; j <= (n+1)/2; j++){ a[i][j] = min(i,j); a[i][n+1-j]=a[n+1-i][j]=a[n+1-i][n+1-j]=a[i][j]; } for(i = 1; i <= n; i++){ for(j = 1; j <= n-1; j++){ cout << a[i][j] << “ “ ; } cout << a[i][n] << endl; } return 0;
方法二
#includeusing namespace std;int n,i,j,k,a[10][10];int main(){ cin >> n; for(k = 1; k <= (n+1)/2; k++) for(i = k; i <= n+1-k; i++) for(j = k; j <= n+1-k; j++) a[i][j] = k; for(i = 1; i <= n; i++){ for(j = 1; j < n; j++) cout << a[i][j] << “ “ ; cout << a[i][n] << endl; } return 0;}