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

使用随机数产生一个4X4的矩阵,每个元素是100以内的随机数,求出该矩阵两条对角线元素之和
要求是c语言不是vb.net.
有追加

帮你写了一个如下:

#include <stdio.h>
#include <stdlib.h>
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;
}

运行结果如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-04
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
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;
}

第2个回答  2014-07-04

下面是我的代码:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

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^

第3个回答  2019-04-01
下面是我的代码:
#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^
相似回答