有以下程序: #include #de6ne N 3 void fun(int x[][N],int r1,int*r2) {int i,j; *r1=*r2=0; for(i=0;i

admin2017-07-05  28

问题 有以下程序:
    #include
    #de6ne N 3
    void fun(int x[][N],int r1,int*r2)
    {int i,j;
    *r1=*r2=0;
    for(i=0;i    {j=N一(i+1);
    if(x[*r1][*r2][j]){*r1=i;*r2=j;}
    }
    }
    main()
    {  int a[N][N]={1,5,7,9,2,6,4,3,8},i,j;
    fun(a,&j,&j);
    printf("%d\n",a[j]);
    }
    程序运行后的输出结果是(    )。

选项 A、8
B、6
C、7
D、9

答案C

解析 fun()函数获取矩阵正反对角线的元素的最大值,fun()中for(i=0;i    {j=N一(i+1);//反对角线列位置
    }if(x[*r1][*r2][j]){*r1=i;*r2=j;}//比较正反对角线的元素,使得,* r1,*r2始终只在
                                    //最大元素的位置
    由数组元素可得,正反对角线的最大元素为7。答案为C选项。  
转载请注明原文地址:https://jikaoti.com/ti/Csi0FFFM
0

最新回复(0)