C语言程序设计:使用随机数产生一个4X4的矩阵,每个元素是100以内的随机数,求出该矩阵两条对角线元素之和

2024-12-29 13:16:06
推荐回答(4个)
回答1:

帮你写了一个如下:

#include 
#include 
int main()
{
 int a[4][4];
 int i,j;
 int sum1=0,sum2=0;
 printf("产生的4*4随机数组如下:\n");
 for(i=0;i<4;i++)
 {
  for(j=0;j<4;j++)
  {
   a[i][j]=rand()%100;
   printf("%d\t",a[i][j]);
  }
  printf("\n");
 }
 for(i=0;i<4;i++)
 {
  for(j=0;j<4;j++)
  {
   if(i==j)
    sum1 += a[i][j];
   if(i+j == 3)
    sum2 += a[i][j];
  }
 }
 printf("左上角到右下角的对角线之和为:%d\n",sum1);
 printf("右上角到左下角的对角线之和为:%d\n",sum2);
 return 0;
}

运行结果如下:

回答2:

#include 
#include 
#include 
int main()
{
    int a[4][4],i,j,sum1=0,sum2=0;
    srand((unsigned)time(NULL));
    for(i=0;i<4;i++)
        for(j=0;j<4;j++)
        {
            a[i][j]=rand()%100;
            if(i==j) sum1=sum1+a[i][j];//主对角线上求和
            if(i+j==3) sum2=sum2+a[i][j];/反对角线上求和
        }
    printf("sum1=%d,sum2=%d\n",sum1,sum2);
    return 0;
}

回答3:

下面是我的代码:

#include 
#include 
#include 

main()
{
//初始化随机数种子
srand((int)(time(NULL)));

//建立随机矩阵并输出 
int su[4][4];
for(int i=0,m;i<4;i++)
{
for(m=0;m<4;m++)
{
su[i][m]=rand()%100;
printf("%d ",su[i][m]);
}
printf("\n");
}

printf("\n两条对角线之和为:%d、%d\n\n",su[0][0]+su[1][1]+su[2][2]+su[3][3],su[0][3]+su[1][2]+su[2][1],su[3][0]); 
}


希望对你有帮助,有问题请向我追问。

^o^

回答4:

下面是我的代码:
#include
#include
#include
main()
{
//初始化随机数种子
srand((int)(time(NULL)));
//建立随机矩阵并输出
int su[4][4];
for(int i=0,m;i<4;i++)
{
for(m=0;m<4;m++)
{
su[i][m]=rand()%100;
printf("%d
",su[i][m]);
}
printf("\n");
}
printf("\n两条对角线之和为:%d、%d\n\n",su[0][0]+su[1][1]+su[2][2]+su[3][3],su[0][3]+su[1][2]+su[2][1],su[3][0]);
}
希望对你有帮助,有问题请向我追问。
^o^