上下三角及对角方阵

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("输出下三角方阵: ");
p=1; //代表层数
for(i=0;i<j;i++){
k=0;
while(k<p){
printf("%d ",a[i]);
k++;
i++;
}
i--;
k=p;
while(k<n){
printf(" ");
k++;
}
printf(" ");
p++;
}
printf("输出上三角方阵: ");
p=1;
for(i=0;i<j;i++){
k=1;
while(k<p){
printf(" ");
k++;
}
k--;
while(k<n){
printf("%d ",a[i]);
k++;
i++;
}
i--;
printf(" ");
p++;
}
printf("将一维数组放在二维数组中,数据如下: ");
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	",b[i][j]);
	}
	printf("
");
}
	printf("
");
	printf("请输出对称方阵:
");	
for(i=0;i<n;i++){
	for(j=0;j<n;j++){
		b[j][i]=b[i][j];
		printf("%d	",b[i][j]);
	}
	printf("
");
}
return 0;

}

原文地址:https://www.cnblogs.com/lusilin/p/10828674.html