下列给定程序中,函数fun()的功能是:先从键盘上输入一个3行3列的矩阵的各个元素的值,然后输出主对角线元素之和。 请改正函数fun()中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

admin2010-05-05  28

问题 下列给定程序中,函数fun()的功能是:先从键盘上输入一个3行3列的矩阵的各个元素的值,然后输出主对角线元素之和。
   请改正函数fun()中的错误,使它能得出正确的结果。
   注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
   试题程序:
       #include <stdio.h>
       int fun()
       {
        int a[3] [3],sum;
        int i,j;
       /*************found**************/
        sum=1;
        for (i=0;i<3;i++)
          { for (j=0;j<3;j++)
       /*************found**************/
           scanf("%d",a[j]);
          }
        for(i=0;i<3;i++)
           sum=sum+a;
        printf("Sum=%d\n",sum);
       }
       main()
       {
       fun();
       }

选项

答案(1)错误:sun=1; 正确:sum=0; (2) 错误:scanf("%d",a[i][j]); 正确:scanf("%d",&a[i][j]);

解析 该题依然考查对循环语句的掌握和对数组概念的理解,根据题干主线,我们可以看清这样的一个解题思路:先从键盘输入一个3×3矩阵,然后再循环累加执行循环语句中的sum=sum+a,所以sum=0。
转载请注明原文地址:https://jikaoti.com/ti/GSkiFFFM
0

最新回复(0)