爱编程的小笨孩


私信TA

用户名:2119394720

访问量:20542

签 名:

我在成长,总有一天我会足够优秀。

等  级
排  名 163
经  验 6819
参赛次数 6
文章发表 44
年  龄 0
在职情况 学生
学  校 黄河科技学院
专  业 软件工程

  自我简介:

一只想要当凤凰的鸡

TA的其他文章

解题思路:

首先需要寻找矩阵的规律,主对角线元素的横纵坐标相同,副对角线元素的横纵坐标相加等于矩阵的行数(列数),定义变量i、j分别表示矩阵的横纵坐标,定义变量sum1,sum2分别表示主对角线元素的和与副对角线元素的和,然后用双重for循环遍历整个矩阵,判断当i==j时,sum1加上该下标下的元素;当i+j==2时,sum2加上该下标下的元素。

注意事项:

注意因为计算机里边矩阵的下标是从0开始算起,所以3*3的矩阵在计算机里应该是2*2,因此令i+j==2而不等于3.
参考代码:

#include<iostream>

using namespace std;

int main()

{

    int a[3][3];//创建一个3*3的的矩阵

    int i;

    int j;

    int sum1=0;//保存主对角线元素的和

    int sum2=0;//保存副对角线元素的和

    /*使用双重for循环输入3*3矩阵的值*/

    for(i=0;i<3;i++)

    {

        for(j=0;j<3;j++)

        {

            cin>>a[i][j];

        }

    }

    /*使用双重for循环输出主对角线和副对角线和的值*/

    for(i=0;i<3;i++)

    {

        for(j=0;j<3;j++)

        {

            if(i==j)//当矩阵元素下标的横纵坐标相同时说明是主对角线的元素

            {

               sum1+=a[i][j]; 

            }

            if(i+j==2)//当矩阵元素下标的横纵坐标的和等于矩阵的行数和列数时,说明是副对角线元素

            {

                sum2+=a[i][j];

            }

        }

    }

    cout<<sum1<<" "<<sum2<<endl;//打印输出主对角线元素的和与副对角线元素的和

    return 0;

}


 

0.0分

18 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区