使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(int n),求出n×n矩阵的对角线数字的平方和。如果n为奇数,则对角线交叉部位数字只参与一次计算。 注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花

admin2019-05-29  16

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(int n),求出n×n矩阵的对角线数字的平方和。如果n为奇数,则对角线交叉部位数字只参与一次计算。
    注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
1  #include<iostream.h>
2  #define MAX N 10
3  int XX[MAX N][MAX N];
4  int fun(int n)
5  {
6
7  }
8  void main()
9  {
10    int n;
11    do
12    {
13    cout<<’’please input N(1<=N<10):’’<<end1;
14    cin>>n;
15    if(n<10 && n>=1)
16    {
17    break;
18    }
19    } while(1);
20    for(int i=0;i<n;i++)
21    {
22    for(int j=0;j<n;j++)
23    {
24    cout<<’’please input data:’’<<end1;
25    cin>>XX[j];
26   }
27    }
28    cout<<fun(n)<<end1;
29    return;
30  }

选项

答案1 int data=0;//初始化求平方和变量 3 for(int i=0;i<n;i++) 3 { 4 data+=XX[i][i]*XX[i][i];//求正对角线平方和 5 if(i!=n-i-1) 6 data+=XX[i][n-i-1]*XX[i][n-i-1];//求逆对角线平方和 7 } 8 return data;

解析 本题函数中的功能是输出N行N列正方阵,然后求两条对角线上各元素之平方和。其中,假设矩阵行、列分别为i、i,那么对角线上的元素特点是主对角线上i=j,以及逆对角线j=n-i-1。
    (1)首先初始化求平方和变量,设置求平方和的变量为0。
    (2)然后利用for循环求得矩阵正对角线平方和。
    (3)最后求得逆对角线平方和,返回平方和变量。
转载请注明原文地址:https://jikaoti.com/ti/pXA0FFFM
0

相关试题推荐
最新回复(0)