题目描述
读入一个整数n(n<100),输出一个n*n的方阵。 对角线是1,对角线向右上逐渐递增,左下为空格,每个数场宽为5。
输入
一个整数n
输出
n*n的方阵
样例输入 复制
4
样例输出 复制
1 2 3 4
1 2 3
1 2
1
#include <bits/stdc++.h>
using namespace std;
/*
1 2 3 4
1 2 3
1 2
1
00 11 22 33
01 12 13 j-i+1
02 13
*/
int main() {
int n;
cin>>n;
int a[n+1][n+1]={};int c=0;
for(int i=0;i<n;i++){
//和后面else功能一样
// int k=i;
// while(k){
// cout<<setw(5)<<"";//=cout<<" ";
// k--;
// }
for(int j=0;j<n;j++){
//行优先排行
if(i<=j){//右上
a[i][j]=j-i+1;//关系一行行看,0行从1开始,1行从2开始.....
cout<<setw(5)<<a[i][j];
}else{
cout<<setw(5)<<"";//=cout<<" ";
}
}
cout<<endl;
}
return 0;
}