题目分析
本题从整体看是对称矩阵,我们可以考虑先给上半三角矩阵赋值,然后给对称的位置赋值。
本题对称关系为
行:i,列:j,数组a
a[i][j] = a[j][i];
C++ 代码
#include<iostream>
using namespace std;
int main(){
int n;
while(cin >> n, n){
int a[105][105];
for(int i = 0; i < n; i++){
int k = 1;
for(int j = i; j < n; j++){
a[j][i] = a[i][j] = k++;//对称赋值
}
}
//输出
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++)
cout << a[i][j] << " ";
cout << endl;
}
cout << endl;
}
return 0;
}