C语言写上三角矩阵

Python011

C语言写上三角矩阵,第1张

#include<stdio.h>

void main()

{

int a[5][5],i,j

printf("输入距阵数:\n")

for(i=0i<5i++)

for(j=0j<=ij++)

scanf("%d",&a[j][i])

for(i=0i<5i++)

{

for(j=0j<5j++)

if(i>=j)

printf("%5d",a[j][i])

else

printf(" C")

printf("\n")

}

}

#include<stdio.h>

int main()

{ int i,j,k=1,a[4][4]

for(i=0i<4i++)

  for(j=0j<4j++)

  { scanf("%d",&a[i][j])

    if(i>j&&a[i][j]!=0)k=0

  }

printf("这个矩阵%s是上三角矩阵\n",k?"":"不")

return 0

}

typedef int ElemType// 定义矩阵元素类型ElemType为整型

# include "stdlib.h" // 该文件包含malloc()、realloc()和free()等函数

# include "iomanip.h" // 该文件包含标准输入输出流cout和cin及控制符setw()

# define N 10

void Enter(ElemType A[],int n)

{

int i

for(i=0i<n*(n+1)/2i++)

cin>>A[i]

}

void Add(ElemType A[],ElemType B[],ElemType C[],int n)

{

int i

for(i=0i<n*(n+1)/2i++)

C[i]=A[i]+B[i]

}

void Mult(ElemType A[],ElemType B[],ElemType D[][N],int n)

{

int i,j,k,p,q,sum

for(i=0i<ni++)

for(j=0j<nj++)

{

sum=0

for(k=0k<nk++)

{

if(i>=k) p=i*(i+1)/2+k

else p=k*(k+1)/2+i

if(j>=k) q=j*(j+1)/2+k

else q=k*(k+1)/2+j

sum=sum+A[p]*B[q]

}

D[i][j]=sum

}

}

void Print(ElemType A[],int n)

{

int i,j

for(i=0i<ni++)

{

for(j=0j<nj++)

if(i>=j) cout<<setw(2)<<A[i*(i+1)/2+j]

else cout<<setw(2)<<A[j*(j+1)/2+i]

cout<<endl

}

}

void main()

{

ElemType A[N],B[N],C[N],D[N][N]

int i,j,n

cout<<"请输入矩阵的阶数:"

cin>>n

cout<<"请输入矩阵A:"<<endl

Enter(A,n)

cout<<"请输入矩阵B:"<<endl

Enter(B,n)

cout<<"矩阵A为:"<<endl

Print(A,n)

cout<<"矩阵B为:"<<endl

Print(B,n)

Add(A,B,C,n)

cout<<"矩阵C为:"<<endl

Print(C,n)

Mult(A,B,D,n)

cout<<"矩阵D为:"<<endl

for(i=0i<ni++)

{

for(j=0j<nj++)

cout<<setw(5)<<D[i][j]

cout<<endl

}

}