上下三角及对角方阵
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>=(nn+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---特殊矩阵的实现(对角矩阵三对角矩阵下三角矩阵上三角矩阵对称矩阵)