以下程序通过函数sunFun求。这里f(x)=x2+1main( ){ printf("The sum=%d\n",SunFun(10)); }SunFun(int n){ int x,s=0;for(x=0;x<=n;x++) s+=F(【 】);return s;}F( int x){ return 【 】);}

题目

以下程序通过函数sunFun求。这里f(x)=x2+1

main( )

{ printf("The sum=%d\n",SunFun(10)); }

SunFun(int n)

{ int x,s=0;

for(x=0;x<=n;x++) s+=F(【 】);

return s;

}

F( int x)

{ return 【 】);}


相似考题
更多“ 以下程序通过函数sunFun求。这里f(x)=x2+1main( ){ printf("The sum=%d\n",SunFun(10)); }SunFun(int n){ int x,s=0;for(x=0;x”相关问题
  • 第1题:

    请选出以下程序的输出结果_______。 includesub(int*s,inty){ static int t=3,y=s[t];t

    请选出以下程序的输出结果_______。 #include<stdio.h> sub(int*s,inty) { static int t=3, y=s[t];t-; } main() { int a[]={1,2,3,4},i,x=0; for(i=0;i<4;i++){ sub(a,x);printf("%d",x);} printf("\n"); }

    A.1234

    B.4321

    C.0

    D.4444


    正确答案:C
    解析:x作为函数sub()的实参时,函数对x值的改变没有返回主函数,并不能使得x的值变化,所以在打印时,x的值是始终不变的,即为0。

  • 第2题:

    以下程序的输出结果是

    #include<stdio.h>

    int fun(int n,int *s)

    { int f1,f2;

    if(n==0||n==1)

    *s=1;

    else

    { fun(n-1,&f1);

    fun(n-2,&f2);

    *s=f1+f2;

    } }

    void main()

    { int x;

    fun(6,&x);

    printf("\n%d",x);}

    A.7

    B.13

    C.9

    D.10


    正确答案:B
    解析:考查函数的递归调用。n=0或n=1是递归的终止条件,然后利用已知值逐步递推求出未知值。 通过传送地址值,在被调用函数中直接改变调用函数中的变量的值。

  • 第3题:

    试题14

    以下程序调用fun函数把x中的值插入到a数组下标为k的数组元素中。主函数中,n存放a数组中数据的个数。请填空。

    #include <stdio.h>

    void fun(int s[], int *n, int k, int x)

    { int i;

    for(i=*n-1; i>=k; i- - ) s[ ___ ]=s[i];

    s[k]=x;

    *n=*n+______;

    }

    main()

    { int a[20]={1,2,3,4,5,6,7,8,9,10,11}, i, x=0, k=6, n=11;

    fun(a, &n, k, x);

    for(i=0; i<n; i++) printf(“%4d”,a[i]); printf(“\n”);

    }


    正确答案:
    试题14分析
    因为是把x中的值插入到a数组下标为k的数组元素中,所以首先要将k及其后的元素往后移一位,方法是s[i+1]=s[i],插入之后,因为多了一个元素,要将n中值增1。
    试题14答案
     【14】i+1
    【15】1

  • 第4题:

    请选出以下程序的输出结果()。includesub(int *s,int y){static int t=3; y=s[t];t--;}

    请选出以下程序的输出结果( )。 #include <stdio.h> sub(int *s,int y) { static int t=3; y=s[t];t--; } main() { int a[]={1,2,3,4},i,x=0; for(i=0;i<4;i++) { sub(a,x);printf("%d",x); } printf("\n"); }

    A.1234

    B.4321

    C.0

    D.4444


    正确答案:C
    解析:本题考查函数的形参和实参的关系。函数sub将实参x的值传给形参y,y值的改变不能使x的值发生改变,所以输出的x值始终为0。

  • 第5题:

    以下程序中,fun函数的功能足求3行4列二维数组每行尢素中的最大值。请填空。 void fun(int,int,int(*)[4],int*); main() {int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i; fun(3,4,a,B); for(i=0;j<3;i++)printf("%4d",b[i]); printf("\n"); } void fun(int m,int n,int ar[][4],int*br) {int i,j,x; for(i=0;i<m;i++) {x=ar[i][0]; for(j=0;j<n;j++) if(( )) x=ar[i][j]; br[i]=x; } }


    正确答案:xar[i][j]
    xar[i][j] 解析:本题考查的是循环的嵌套。本题定义了二维数组a,存放3行4列的数组元素,定义了,一维数组b用于存放每行的最大数。存函数fun中,通过二重for循环求每行的最大数,外层for循环用于控制行数,内层for循环用于控制列数。当外层循环执行一次时,内层循环则执行4次,并求出了这一行的最大值x,最后将每一行求出最大值x赋值给存放最大值的数组br,故本题答案为xar[i][j]。