有下列程序:include<stdi0.h>intfun(int(*s)[4],intn,intk){intm,i;m=s[O][k];for(i=1;i<n;i++)if(s[i][k]>m)m=s[i][k];returnm;}voidmain( ){inta[4][4]=({1,2,3,4),{11,12,13,14},{21,22,23,24},{31,32,33,34)};printf(”%d\n”,fun(a,4,O));}程序的运行结果是( )。A.4B.34C.31D.32

题目

有下列程序:

include<stdi0.h>

intfun(int(*s)[4],intn,intk)

{intm,i;

m=s[O][k];

for(i=1;i<n;i++)if(s[i][k]>m)m=s[i]

[k];

returnm;

}

voidmain( )

{inta[4][4]=({1,2,3,4),{11,12,13,14},{21,

22,23,24},{31,32,33,34)};

printf(”%d\n”,fun(a,4,O));

}

程序的运行结果是( )。

A.4

B.34

C.31

D.32


相似考题
更多“有下列程序:include&lt;stdi0.h&gt;intfun(int(*s)[4],intn,intk){intm,i;m=s[O][k];for(i=1;i<n ”相关问题
  • 第1题:

    有以下程序 include int fun(int (*s)[4],int n,int k) {int m,i;

    有以下程序 #include <stdio.h> int fun(int (*s)[4],int n,int k) {int m,i; m=s[0][kl; for(i=1;i<n;i++) if(s[i][k]>m) m=s[i][k]; return m; } main() { int a[4][4]={{1,2,3,4},{11,12,13,14}, {21,22,23,24}, {31,32,33,34}}; printf("%d\n",fun(a,4,0)); } 程序的运行结果是______。

    A.4

    B.34

    C.31

    D.32


    正确答案:C
    解析:在主函数中,定义并初始化了4行4列的二维数组a,并通过调用fun函数,将fun函数中指向一维数组的指针变量s指向了二维数组a的首地址,使得指针变量s与数组a共用同一存储单元。在fun函数中,通过for循环,求得了数组a第0列中最大的值,并赋给m返回主函数。由于数组a第0列的值分别为1、11、21、31,故其最大值是31。

  • 第2题:

    有下列程序: #include<stdi0.h> intfun(int(*s)[4],intn,intk) {intm,i; m=s[O][k]; for(i=1;i<n;i++)if(s[i][k]>m)m=s[i] [k]; returnm; } voidmain( ) {inta[4][4]=({1,2,3,4),{11,12,13,14},{21, 22,23,24},{31,32,33,34)}; printf(”%d\n”,fun(a,4,O)); } 程序的运行结果是( )。

    A.4

    B.34

    C.31

    D.32


    正确答案:C
    C。【解析】在程序中fun函数的功能在于求取三维数组S中1至n行中每行第k个元素中的最大者。注意:i=0时为第一行,故fun(a,4,O)在于求取11、21、31中的最大值,显然为31。

  • 第3题:

    有以下程序includevoidfun(int*s,intn1,intn2){inti,j,t; i=n1j=n2; while(i

    有以下程序 #include <stdio.h> void fun(int *s,int n1,int n2) { int i,j,t; i=n1 j=n2; while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;} } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4,9); fun(a,0,9); for(k=0;k<10;k++)printf("%d",a[k]); printf("\n"); } 程序的运行结果是

    A.987654321

    B.4321098765

    C.5678901234

    D.987651234


    正确答案:C
    解析:函数fun(int *s,int n1,int n2)的功能是对数组s中的元素进行首尾互相调换。所以在主函数中,当 fun(a,0,3)执行完后,数组a[12]={4,3,2,1,5.6,7,8,9,01;再执行fun(a,4,9),数组a[12]={4,3,2,1,0,9,8,7,6,5};再执行fun(a,0,9)后,数组a[12]={5,6,7,8,9,0,1,2,3,4}。

  • 第4题:

    有下列程序: include void fun(int * s,int n1,int n2) { int i,j,

    有下列程序: #include <stdio.h> void fun(int * s,int n1,int n2) { int i,j,t; i=n1;j=n2; while(i<j){t=s[i];s[i]=s[j];s[j]=t;i++;j--;} } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4,9);fun(a,0,9); for(k=0;k<10;k++)printf("%d",a[k]);printf("\n"); } 程序的运行结果是( )。

    A.987654321

    B.4321098765

    C.5678901234

    D.987651234


    正确答案:C
    解析:从题目的主函数入手,定义了一个一维数组并赋韧值,接着调用函数fun(),fun()函数的功能为使数组中的元素逆序,当调用 fun(a,0,3),将实参传递给形参实现数组a中a[0]-a[3]这4个元素逆序;同理调用fun(a,4,9)是将上步排列好的a数组中a[4]-a[9]这6个元素逆序;调用fun(a,0,9)是将数组中a[0]-a[9]这10个元素在逆序,再用printf()函数输出结果为5678901234,故选项C)正确。

  • 第5题:

    假定n=3,,下列程序的运行结果是()。includeint Fun(int m)void main(){cout<<"Pleas

    假定n=3,,下列程序的运行结果是( )。 #include<iostream.h> int Fun(int m) void main() { cout<<"Please input a number:"; int n,s=0; cin>>n; s=Fun(n); cout<<s<<endl; } int Fun(int m) { iht p=1,s=0; for (int I=1;I<=m;I++) { p*=I; S+=p; } return s; }

    A.7

    B.9

    C.8

    D.10


    正确答案:B