#include <stdio.h> #include <stdlib.h> #define M 10 #define N 4 int main() { int a[M]={1,2,3,4,5,6,7,8,9,10}; int b[M]={1,1,1,1,1,1,1,1,1,1}; int c[N][N],d[N][N]; int i,j,k=0,s; for(i=0;i<N;i++) for(j=0;j<=i;j++) { c[i][j]=a[k]; d[i][j]=b[k]; k++; } for(i=0;i<N-1;i++) for(j=i+1;j<N;j++) { c[i][j]=c[j][i]; d[i][j]=d[j][i]; } printf("1、输出对称矩阵M: "); for(i=0;i<N;i++) { for(j=0;j<N-1;j++) printf("%d ",c[i][j]); printf("%d ",c[i][j]); } printf("2、输出对称矩阵N: "); for(i=0;i<N;i++) { for(j=0;j<N-1;j++) printf("%d ",d[i][j]); printf("%d ",d[i][j]); } printf("3、两个对称矩阵M、N的和为: "); for(i=0;i<N;i++) { for(j=0;j<N-1;j++) printf("%d ",c[i][j]+d[i][j]); printf("%d ",c[i][j]+d[i][j]); } printf("3、两个对称矩阵M、N的积为: "); for(i=0;i<N;i++) { for(j=0;j<N-1;j++) { s=0; for(k=0;k<N;k++) s+=c[j][k]*d[k][j]; printf("%d ",s); } s=0; for(k=0;k<N;k++) s+=c[j][k]*d[k][j]; printf("%d ",c[i][j]+d[i][j]); } return 0; }