c语言5*5的矩阵的代码和讲解

img

#include "stdio.h"
void main()
{
    int i,j;
    int a[5][5]={
        {1,2,3,4,5},
        {6,7,8,9,10},
        {11,12,13,14,15},
        {16,17,18,19,20},
        {21,22,23,24,25}    
    };
    int sum = 0;
    int times =1;
    for(i=0;i<5;i++)
    {
        for(j=0;j<5;j++)
        {
            //对角线元素
            if(i==j)
            {
                sum += a[i][j];
                if(i%2==0 && j%2==0){
                    times*= a[i][j];        
                }
            }
            
        }    
    }
    printf("sum=%d\n",sum);
    printf("times=%d\n",times);
}

从左向右的对角线的特点是下标i和j相等
从右向左的对角线的特点是下标i+j=4

 
#include "stdio.h"
void main()
{
    int i,j;
    int a[5][5];
    for(i=0;i<5;i++)
      for(j=0;j<5;j++)
        scanf("%d",&a[i][j]);
    int sum1 = 0,sum2 = 0;
    int cj1=1,cj2=1;
    for(i=0;i<5;i++)
    {
        for(j=0;j<5;j++)
        {
            if(i==j)
            {
                sum1 += a[i][j];
                if(i%2==0 && j%2==0)
                    cj1 *= a[i][j];
            }
            if(i+j==4)
            {
                sum2 += a[i][j];
                if(i%2==0 && j%2==0)
                    cj2 *= a[i][j];
            }
        }    
    }
    printf("%d,%d\n",sum1,cj1);
    printf("%d,%d\n",sum2,cj2);
    return 0;
}