


#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 6//矩阵级数
#define K 13//矩阵中元素的最大值
void main()
{
int num[N][N],temp[N][N];
int j,x,i,b=0,p=0;
int J,W,I,B=0,Q=0;
printf("This is A matrix\n\n");
srand(time(0));
for(i=0;i<N;i++)
num[0][i]=rand()%K;//第一行元素随机输出
do //do while退出条件循环,好处在于判断条件在执行循环后检查判断条件,保证循被循环体语句至少被循环一次,while for都是入口条件循环,在每次执行循环之前先检查判断条件
{
for (j=b;j<N;j++)
{
num[b][j]=num[0][p];
num[j][b]=num[0][p];
p++;
}
b++;
}
while (b!=N);//do while循环本身是一个语句,需要分号
for (x=0;x<N;x++)
{
for (i=0;i<N;i++)
{
printf ("%2d ",num[x][i]);
}
printf ("\n\n");
}
printf("This is B matrix\n\n");
srand(time(0));
for(I=0;I<N;I++)
num[0][I]=rand()%K;//第一行元素随机输出
do //do while退出条件循环,好处在于判断条件在执行循环后检查判断条件,保证循被循环体语句至少被循环一次,while for都是入口条件循环,在每次执行循环之前先检查判断条件
{
for (J=B;J<N;J++)
{
num[B][J]=num[0][Q];
num[J][B]=num[0][Q];
Q++;
}
B++;
}
while (B!=N);//do while循环本身是一个语句,需要分号
for (W=0;W<N;W++)
{
for (I=0;I<N;I++)
{
printf ("%2d ",num[W][I]);
}
printf ("\n\n");
}
printf("This is C matrix(C=A+B)\n\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
temp[i][j]=num[i][j]+num[i][j];
printf("%2d ",temp[i][j]);
}
printf("\n\n");
}
}