【C语言历程12.对角线求和】现在有一个3*3的二维数组,求对角线之和。

1.题目分析

        先看图

【C语言历程12.对角线求和】现在有一个3*3的二维数组,求对角线之和。_第1张图片

 我们有两个方法:

1.二循环(只会加一个中间元素)

 for (i = 0; i < 3; i++)
        for (j = 0; j < 3; j++)
        {
           if (i == j)
              sum1 += a[i][j];
           else if (i + j == 3 - 1)
              sum2 += a[i][j];

2.单循环(会加2个中间元素)

因为我们分析,行元素 和 列元素  是一致的

 再其次,行元素 是依次的 但列元素在变化,变化如下:

for (i = 0; i < 3; i++)
    {
         sum1+= a[i][i];
         sum2 += a[i][3 -1 - i];
        }

2.总结

#include "stdio.h"
#include "conio.h"
main()
{
    int  a[3][3];
    int sum1 = 0;
    int sum2 = 0;
    int i, j;
    printf("please input rectangle element:\n");
    for (i = 0; i < 3; i++)
       for (j = 0; j < 3; j++)
             scanf_s("%d", &a[i][j]);
    for (i = 0; i < 3; i++)
    {
         sum1+= a[i][i];
         sum2 += a[i][3 -1 - i];
        }
    int sum = sum1+sum2;
    printf("duijiaoxian he is %d", sum);

}

3.输出

【C语言历程12.对角线求和】现在有一个3*3的二维数组,求对角线之和。_第2张图片

 

你可能感兴趣的:(C/C++,java,开发语言,c语言,c++,算法)