平方矩阵
1.方式一
注:没有使用数组,找数与数之间的关系,确认分解点,然后编写逻辑。
点击查看代码
#include <iostream>
using namespace std;
int main(){
int n;
while(cin >> n, n){
for(int i = 1; i <= n; i++){
for(int j = 1; j <= n; j++){
int up = i, down = n - i + 1, left = j, right = n - j + 1;
cout << min(min(up, down), min(left, right)) << " ";
}
cout << endl;
}
cout << endl;
}
return 0;
}
2.方式二
点击查看代码
#include <iostream>
using namespace std;
int a[100][100];
int main(){
int n;
while(cin >> n, n){
for(int i = 0; i < n; i++){
for(int j = i; j < n - i; j++){
a[j][i] = a[i][j] = i + 1; // 处理左和上对应的数据。
a[j][n - i - 1] = a[n - i - 1][j] = i + 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;
}
图片理解 ->