1667: 数组-对称矩阵压缩存储为一维数组
金币值:2
定数:8
时间限制:1.000 s
内存限制:128 M
正确:39
提交:64
正确率:60.94% 命题人:
题目描述
输入一个整数n(n<=10),再输入n阶对称矩阵,依据其对称特性,仅将其下三角的数值按行优先的方式存储到一维数组中,实现对称矩阵压缩存储。
输入格式
第一行输入一个整数n
接下来的n行每行输入n个整数,表示一个n阶对称矩阵
输出格式
输出对称矩阵压缩存储后的一维数组。
输入样例 复制
3
1 2 3
2 5 8
3 8 9
输出样例 复制
1 2 5 3 8 9
提示
#include <stdio.h>
#define maxsize 10
int zhuan(int i,int j,int n);
int main(void) {
int a[maxsize][maxsize],b[100];
int n,i,j;
scanf("%d",&n);
for(i=0; i<n; i++) {
for(j=0; j<n; j++) {
scanf("%d",&a[i][j]);
}
}
for(i=0; i<n; i++) {
for(j=0; j<=i; j++) {
int k=zhuan(i,j,n);
b[k]=a[i][j];
}
}
for(i=0; i<n*(n+1)/2; i++) {
printf("%d ",b[i]);
}
return 0;
}
// 仅需要提供以下代码
int zhuan(int i,int j,int n) {
}