随机生成一个对称矩阵,并输出。(究极版本,可以每一次都改变矩阵的随机数且不同,采用do while退出条件循环)

时间:2023-02-09 20:42:41
#include<stdio.h>  
#include<stdlib.h> 
#include<time.h> 
#define N 6//矩阵级数 
#define K 13//矩阵中元素的最大值 
void main()  
{ 
	int num[N][N];  
    int j,x,i,b=0,p=0;
    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");
    }  
}