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

admin2009-02-15  89

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

选项

答案(1)错误:for(i=0;j<3;j++) 正确:for(j=0;j<3;j++) (2) 错误:mu1=mu1*a[i][j]; 正确:mu1=mul*a[i][i];

解析 错误1:循环结构中,要给变量j赋初值0。错误2:主对角元素的行号和列号相等,所以参加乘法的是a,而不是a[j]。
转载请注明原文地址:https://jikaoti.com/ti/JxkiFFFM
0

最新回复(0)