上下三角及对角方阵

Posted lusilin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了上下三角及对角方阵相关的知识,希望对你有一定的参考价值。

include<stdio.h>

int main(){
int i,j,m,n,k,p=0;
printf("请问要输入几级方阵:");
scanf("%d",&n);
j=(nn+n)/2;
int a[j],b[n][n];
for(i=0;i<j;i++){
printf("请问要输入数据:");
scanf("%d",&a[i]);
}
printf("输出下三角方阵:\\n");
p=1; //代表层数
for(i=0;i<j;i++){
k=0;
while(k<p){
printf("%d\\t",a[i]);
k++;
i++;
}
i--;
k=p;
while(k<n){
printf("\\t");
k++;
}
printf("\\n");
p++;
}
printf("输出上三角方阵:\\n");
p=1;
for(i=0;i<j;i++){
k=1;
while(k<p){
printf("\\t");
k++;
}
k--;
while(k<n){
printf("%d\\t",a[i]);
k++;
i++;
}
i--;
printf("\\n");
p++;
}
printf("将一维数组放在二维数组中,数据如下:\\n");
m=0;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
b[i][j]=a[m];
if(m>=(n
n+n)/2)
b[i][j]=0;
m++;
}
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){

        printf("%d\\t",b[i][j]);
    }
    printf("\\n");
}
    printf("\\n");
    printf("请输出对称方阵:\\n");   
for(i=0;i<n;i++){
    for(j=0;j<n;j++){
        b[j][i]=b[i][j];
        printf("%d\\t",b[i][j]);
    }
    printf("\\n");
}
return 0;

}

技术图片

以上是关于上下三角及对角方阵的主要内容,如果未能解决你的问题,请参考以下文章

C++(数据结构与算法):16---特殊矩阵的实现(对角矩阵三对角矩阵下三角矩阵上三角矩阵对称矩阵)

python 矩阵分成上三角下三角和对角三个矩阵

LQ0258 上三角方阵下标计算

LQ0258 上三角方阵下标计算

ZZNUOJ_C语言1125:上三角矩阵的判断(附完整源码)

沿列展平numpy数组,顺序为:下三角形,对角线,上三角形