问答题(2002年中国矿业大学

阅读下面程序,说明其功能。

main(){

    int a[10],b[10],i,n=0,m=0,k=0;

    printf("enter array a: ");

    for(i=0;i<10;i++)

        scanf("%d",&a[i]);

    printf(" ");

    printf("enter array b: ");

    for(i=0;i<10;i++)

        scanf("%d",&b[i]);

    printf(" ");

    for(i=0;i<10;i++){

        if(large(a[i],b[i])==1)n=n+1;

        else if(large(a[i],b[i])==0)m=m+1;

        else k=k+1;

    }

    printf("a[i]>b[i] %d times a[i]=b[i] %d times a[i]<b[i] %d times ",n,m,k);

    if(n>k)printf("array a is larger than array b ");

    else if(n<k)printf("array a is smaller than array b ");

    else printf("array a is equal to array b ");

}

int large(x,y){

    int flag;

    if(x>y)flag=1;

    else if(x<y)flag=-1;

    else flag=0;

    return flag;

}

答案解析

暂无答案

讨论

对函数的使用方法描述正确的有【 】。

递归过程与函数的设计可以使程序简明易读,易写而且时空效率大大提高。

中国矿业大学函数的调用

函数 main()、test()的定义如下所示。调用函数test时,第一个参数采用传值方式,第二个参数采用传引用方式,man()函数中“ printi(x,y)”执行后,输出结果为【 】。main(){ int x=1,y=5; test(x,y); print(x,y);}test (int x,int &a){ a=x+a*2; x=x+1; return;}

中国矿业大学函数的调用

程序语言提供的传值调用机制是将【 】。

函数f()、g()的定义如下所示,已知调用f时传递给其形参x的值是10。若在f中以传值方式调用g,则函数f()的返回值为【 】;f(int x):int y=0;y=g(x);return x+y;g(int x):x=x+5;return x;

函数f()、g()的定义如下所示,已知调用f时传递给其形参x的值是10。若以引用方式调用g,则函数f()的返回值为【 】。f(int x):int y=0;y=g(x);return x+y;g(int x):x=x+5;return x;

已知函数 f()、g()的定义如下所示,调用函数f()时传递给形参x的值是5。若 g(a)采用引用调用(call by reference)方式传递参数,则函数f()的返回值为______;若 g(a)采用值询用(call by value)的方式传递参数,则函数f()的返回值为______。其中,表达式“x>>1”的含义是将x的值右移1位,相当于x除以 2。f(int x) int a =x>>1; g(a); return a+i;g(int x) x=x*(x+1)i; returni;

已知函数f()、g()的定义如下所示,执行表达式“x=f(5)”的运算时,若函数调用g(a)是引用调用( call by reference)方式,则执行“x=f(5)”后x的值为【 】。f(int x) int a= x-1; g(a); return a*x;g(int y) y = y*y-1; return;

中国矿业大学指针与地址

中国矿业大学指针与地址

阅读下述程序,指出程序的输出。Einclude<stdio.h>void g(int **);main(){ int line[10], i; int *p=line; for(i=0;i<10;i++){ *p=i; g(&p); } for(i=0; i <10; i++)printf("%d\n", line[i]);}void g(int **p){ (**p)++; (*p)++;}

在下面线性链表删除操作的程序片段中,假设最初p指向头结点,则删除的是其后的第【 】个结点?for(i=0;i<3;i++){ p=p->next;}q=p->next;p->next=p-> next->next;delete q;

构造一个类的基本原则是【 】

阅读下述程序,导出指定变量的计算公式。Option Base 1Private Sub Command 1_Click()Dim X As Single, PS As Single, PD As Single, A(), B() A= Array(-1.2,1.7,2.5,3.3,3.5) B=Aray(0.8,0.6,0.1,-1.1,-4.1) X= Val( Text 1. Text) PS=PP(X, A,5,1) PD=PP(X, B, 4, 2) Print X, PS, PDEnd SubPrivate Function PP(X As Single, B() As Variant, By Val N As Integer, By Val TT As Integer) As Single Dim I As Integer, K As Integer PP=0.0 For I=1 To N K=N-I+1 PP=PP* X*X+B(K) Next I If TT>1 Then PP=PP*XEnd Function其中PS、PD的计算公式为?

写出下面N-S图的程序,并说明其功能。

对任意个自然数n(1<n≤40),按递增顺序依次列出所有分母小于等于n的真分数(不可约分数)。

Fibonacci数列Fn定义如下:F0=0, F1=1, Fn=Fn-1+Fn-2,n=2,3,...用递归算法计算n=10的函数值。

判断下列程序是来做什么的【 】double Func( double x1,double x2, double eps){ double x,A; x=x1; A=eps*(f(x1)+f(x2))/2; for(int j=0; j<(x2-x1)/eps; j++){ x+ =eps; A+ =eps*f(x); } return A;}