问答题(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;

}

参考答案

暂无答案

关键词

函数;语言;调用;array;else;enter;scanf;large;times;函数的调用;

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

在C语言的函数 void f(){static int i=0;…}说明中,静态变量i的作用域是______,生命周期是______,i的初始化是在______时进行的。(第1、2个空从A~C中选择,第3个空从D、E中选择)A.整个程序 B.函数f()所在的文件 C.函数f()内部D.编译 E.程序运行

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

在C语言中,数组名作为参数传递给函数,作为实在参数的数组名被处理为【 】

判断下列程序是来做什么的【 】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;}

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

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

阅读下述程序,导出指定变量的计算公式。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的计算公式为?

函数 int minOne( int arr[],intk)的功能是用递归方法求指定数组中前k个元素中的最小者,并作为函数值返回。int minOne (int arr[], int k){ int t; assert(k>0); if(k==1) return __(1)__; t=minOne (arr+1,__(2)__); if (arr[0]<t) return arr [0]; return __(3)__;}

已知函数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;

分析下面程序的运行结果:#include <stdin.h>struct m{ int x; int *y;}*p;int a[4]={12,33,-40,100};struct m b[4]={10,&a[2],9,&a[3],8,&a[0],7,&a[1]};main(){ p=b; printf("%d\n",++p->x); printf("%d\n",(++p)->x); printf("%d\n",++(*p->y));}

分析下面程序的运行结果:main(){ unsigned a,b,x; int n; a=0x763; n=6; b=a<<(12-n); x=(a>>n-2)^b; printf("\nb=%x,\nx=%x",b,x);}

按优先级高低排列以下运算符:&=,+,%,>>,&&,+=,!=,>>=,->,&,sizeof,++,!,[],-,?:,(),==

请在以下名字中找出C语言中的关键字:goto;into;if;int;chart;sizeof;for;case;close;double;float;switch;auto;volatile;union;united;type;until;end;avoid;

阅读下述程序,指出程序的输出。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)++;}

算法的特征和要素是什么?

什么叫阿尔法测试与贝塔测试?

介绍一个你所编制的你认为最有意义的程序(包括目的、算法、所解决的实际问题)。

阅读以下说明和流程图,填补流程图中的空缺(1)~(5)。【说明】指定网页中,某个关键词出现的次数除以该网页长度称为该关键词在此网页中的词频。对新闻类网页,存在一组公共的关键词。因此,每个新闻网页都存在一组词频,称为该新闻网页的特征向量。设两个新闻网页的特征向量分别为:甲(a1,a2,…,ak)、乙(b,b2…,bk),则计算这两个网页的相似度时需要先计算它们的内积S=a1b1+a2b2+…+akbk。一般情况下,新闻网页特征向量的维数是巨大的,但每个特征向量中非零元素却并不多。为了节省存储空间和计算时间,我们依次用特征向量中非零元素的序号及相应的词频值来简化特征向量。为此,我们用(NA(i),A(i)|i=1,2,…,m)和(NB(j),B(j)|j=1,2,…,n)来简化两个网页的特征向量。其中:NA(i)从前到后描述了特征向量甲中非零元素A(i)的序号(NA(1)<NA(2)<…),NB(j)从前到后描述了特征向量乙中非零元素B(j)的序号(NB(1)<NB(2)<…)。

函数 isPrime(int n)的功能是判断n是否为素数。若是,则返回1,否则返回0。素数是只能被1和自己整除的正整数。例如,最小的5个素数是2,3,5,7,11。int isPrime(int n){ int k,t; if (n==2) return 1 if(n<2 II__(1)__) return0;/*小于2的数或大于2的偶数不是素数*/ t = (int) sqrt(n)+1; for (k=3; k< t; k+=2) if(__(2)__) return 0; return 1;}