以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换.请填空.#include <stdio.h>viod f(int x[],int n){ int p0,p1,i,j,t,m;i=j=x[0]; p0=p1=0;for(m=0;m<n;m++){ if(x[m]>i) {i=x[m]; p0=m;}else if(x[m]<j) {j=x[m]; p1=m;}}t=x[p0]; x[p0]=x[n-1]; x[n-1]

题目

以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换.请填空.

#include <stdio.h>

viod f(int x[],int n)

{ int p0,p1,i,j,t,m;

i=j=x[0]; p0=p1=0;

for(m=0;m<n;m++)

{ if(x[m]>i) {i=x[m]; p0=m;}

else if(x[m]<j) {j=x[m]; p1=m;}

}

t=x[p0]; x[p0]=x[n-1]; x[n-1]=t;

t=x[p1];x[p1]= _[14]_______; _[15]_______=t;

}

main()

{ int a[10],u;

for(u=0;u<10;u++) scanf("%d",&a[u]);

f(a,10);

for(u=0;u<10;u++) printf("%d",a[u]);

printf("\n");

}


相似考题
更多“以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小 ”相关问题
  • 第1题:

    数组Q[0,n-1]作为一个环形队列,f为当前队头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数总小于n,队列中元素的个数是

    A.r-f

    B.n+f-r

    C.n+r-f

    D.(n+r-f)mod n


    正确答案:D

  • 第2题:

    下面函数的功能是:找出一维数组元素中最大的值和它所在的下标,最大值的和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。请填空。

    #include<stdlib.h>

    #include<stdio.h>

    void fun(int a[],int n, int *max, int *d)

    { int i;

    *max=a[0];

    *d=0;

    for(i=0;【15】;i++)

    if(*max<【16】)

    {*max=a[i];*d=i;}

    }

    main()

    { int i, x[20], max, index, n=10;

    randomize();

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

    {

    x[i]=rand()%50; printf("%4d",x[i]);

    }

    printf("\n");

    fun(x,n,&max,&index);

    printf("Max=%5d,Index=%4d\n",max,index);

    }


    正确答案:
    i<n;a[i]

  • 第3题:

    请编写函数void fun(int x, int pp[], int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在即所指的数组中,这些除数的个数通过形参n返回。

    例如,若x中的值为30,则有4个数符合要求,它们是1, 3,5,15。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

    试题程序:

    include <conio.h>

    include <stdio.h>

    void fun (int x, int pp[], int *n)

    {

    }

    main()

    {

    int x,aa[1000], n, i ;

    clrscr();

    printf("\nPlease enter an integer

    number : \n ") ;

    scanf ("%d", &x) ;

    fun (x, aa, &n) ;

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

    printf ("%d ", aa [i]);

    printf ("\n ") ;

    }


    正确答案:void fun (int x int pp[] int *n) { int ij=0; for(i=1;ix;i=i+2) /*i的初始值为1步长为2确保i为奇数*/ if(x%i==0) /*将能整除x的数存入数组pp中*/ pp[j++]=i; *n=j; /*传回满足条件的数的个数*/ }
    void fun (int x, int pp[], int *n) { int i,j=0; for(i=1;ix;i=i+2) /*i的初始值为1,步长为2,确保i为奇数*/ if(x%i==0) /*将能整除x的数存入数组pp中*/ pp[j++]=i; *n=j; /*传回满足条件的数的个数*/ } 解析:本题题干信息是:能整除x且不是偶数的所有整数。循环语句中i从1开始且每次增2,所以i始终是奇数。

  • 第4题:

    请编写函数void fun (int x,int pp[],int *n),它的功能是求出能整除x且不是奇数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。

    例如,若x中的值为24,则有6个数符合要求,它们是2, 4, 6, 8, 12, 24。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

    试题程序:

    include<conio.h>

    include<stdio.h>

    void fun(int x,int PP[],int *n)

    {

    }

    main ()

    {

    int x,aa[1000],n,i;

    clrscr() ;

    printf("\nPlease enter an integer number:

    \n ") ;

    scanf("%d",&X);

    fun(x,aa,&n);

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

    printf("%d",aa[i]);

    printf("\n");

    }


    正确答案:void fun (int x int pp[] int *n) { int i j=0 for(i=2;i=x;i=i+2) /*i的初始值为2步长为2确保i为偶数*/ if(x%i==0) /*将能整除x的数存入数细pp中*/ pp[j++]=i *n=j /*传回满足条件的数的个数*/ }
    void fun (int x, int pp[], int *n) { int i, j=0 for(i=2;i=x;i=i+2) /*i的初始值为2,步长为2,确保i为偶数*/ if(x%i==0) /*将能整除x的数存入数细pp中*/ pp[j++]=i *n=j /*传回满足条件的数的个数*/ } 解析:本题题干信息是;能整除x且不是奇数的所有整数。循环语句中i从2开始且每次增2,所以i始终是偶数。

  • 第5题:

    编写函数jsvalue(),其功能是:求Fibonacci数列中大于t的最小的一个数,结果由该函数返回。其中,Fibonacci数列F(n)的定义如下。F(0)=0, F(1)=1F(n)=F(n-1)+F(n-2)最后,调用函数writeDat()读取10个数据t,分别得出结果,并把结果输出到文件out.dat中。例如:当t=1000时,函数值为1597。部分源程序已给出。请勿改动主函数main()和写函数writeDat()的内容。#include <stdio.h>int jsValue(int t){ }void writeDat(){ FILE *in, *out; int i, n, s; in = fopen("in.dat", "r"); out = fopen("out.dat", "w"); for (i=0; i<50; i++) { fscanf(in, "%d,", &n); s = jsValue(n); fprintf(out, "%d\n", s); } fclose(in); fclose(out);}main(){ int n; n = 1000; printf("t=%d,f=%d\n", n, jsValue(n)); writeDat();}


    正确答案:参考试题解析
    【解析及答案】
    本题属于按条件查找类型的题目,考核的知识点为:求解Fibonacci数列的第n项的值;查找满足条件的Fibonacci数列的第n项的值。
    本题的解题思路为:从第1项开始逐个求出Fibonacci数列的每一项的值,并且将其与给定的数据相比较,若找到第1个大于给定数据的值则将其返回。程序的流程为:调用jsvalue(n)函数处理数据,由writeDat()函数将数据写回到文件out.dat中。在jsvalue()函数中,根据题目给出的条件,Fibonacci数列中的每一项的值均为前两项之和。将Fibonacci数列的每一项的都初始化,然后通过while循环的条件进行判断:当Fnt,即第n项的值小于1000时,进入while循环体,计算Fn的值,每计算一个Fn的值就与t比较一次,直到fn>t,即找到大于t的最小的一个数时,循环结束。该while循环的功能就是查找比t大的Fn的值。while循环结束后,利用return语句返回Fn的值,函数结束。
    int jsvalue(int t)
    { int f1=0,f2=1,fn;
    fn=f1+f2;
    while(fn<=t)
    {f1=f2;
    f2=fn;
    fn=f1+f2;}
    return fn;
    }

  • 第6题:

    设函数findbig已定义为求3个数中的最大值。以下程序将利用函数指针调用findbig函数,请填空。main(){ int findbig(int,int,int); int (*f)(),x,y,z,big; f=; scanf("%d%d%d",&x,&y,&z); big=(*f)(x,y,z); printf("big=%d\n",big);}


    正确答案:findbig
    在main()函数中,int findbig();是对被调函数的说明,其功能是告诉系统在本函数中将用到该函数且返回整型值。int (*f)();说明f是一个指向函数的指针变量,此函数带回整型的返回值。赋值语句f=findbig;的作用是将函数findbig的入口地址赋给指针变量f,这时f就是指向函数findbig的指针变量。要注意的是,在给函数指针变量赋值时,只需给出函数名而不必给出参数,因为是将函数的入口地址赋给f,而不涉及实参与形参的结合问题。故本题答案为findbig。

  • 第7题:

    请编写一个函数fun(),它的功能是:找出一维数组元素中最大的值和它所在的下标,最大值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。

    主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

    试题程序:

    include<stdlib.h>

    include<stdio.h>

    void fun(int a[],int n, int *max,int *d)

    {

    }

    main()

    {

    int i, x[20], max, index, n=10;

    randomize();

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

    {

    x[i]=rand()%50;

    printf("%4d",x[i]);

    /*输出一个随机数组*/

    }

    printf("\n");

    fun(x,n,&max,&index);

    printf("Max=%5d,Index=%4d\n",max,index);

    }


    正确答案:void fun(int a[]int nint *maxint *d) { int i; *max=a[0]; *d=0; for(i=0;in;i++) /*将最大的元素放入指针max所指的单元最大元素的下标放入指针d所指的单元*/ if(*maxa[i]) {*max=a[i];*d=i;} }
    void fun(int a[],int n,int *max,int *d) { int i; *max=a[0]; *d=0; for(i=0;in;i++) /*将最大的元素放入指针max所指的单元,最大元素的下标放入指针d所指的单元*/ if(*maxa[i]) {*max=a[i];*d=i;} } 解析:该程序直接使用形参max和d,由于它们都是指针变量,所以要引用它所指向的变量时要对它进行指针运算,也即*号运算。

  • 第8题:

    编写函数jsValue(int t),它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为: F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2) (n≥2) 最后调用函数writeDat读取l0个数据t,分别得出结果且把结果输出到文件out.dat中。 例如:当t=1000时,函数值为:1597。 注意:部分源程序存在test.c文件中。 请勿改动数据文件in.dat中的任何数据、主函数main和写函数writeDat的内容。


    正确答案:
    【审题关键句】F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n2)。
    【解题思路】
    ①定义表示Fibonacci数列中第F(n-2)项的变量f0,第F(n-1)项的变量n,第F(n)项的变量f2。
    ②当Fibonacci数列中第F(n)项的值f2小于t时,把数列当前第F(n-1)项的值n赋给f0,把数列当前第F(n)项的值f2赋给n,根据Fibonacci数列的递推关系,第n项的值等于第n-1项的值与第n-2项值的和,计算数列当前第n+1项的值f2= f0+n。依次循环,当f2的值大于t时,退出while循环,把f2的值返回。
    【参考答案】

  • 第9题:

    请编写函数void proc(int x,int pp[],int*n),它的功能是:求出能整除x且不是偶数、不为1的各整数,并按从大到小的顺序放在PP所指的数组中,这些除数的个数通过形参n返回。

    例如,若x的值为30,则有3个数符合要求,它们是15,5,3。

    注意:部分源程序给出如下。

    请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。

    试题程序:


    正确答案:


    【解析】按照题目中要求,求出能整除x且不是偶数的各整数。首先判断小于等于整数x的所有奇数是否能被x整除,将能被x整除的奇数放入数组pp中。最后将数组pp中元素的个数返回到主函数中。

  • 第10题:

    请编写函数proc(),它的功能是求Fibonacci数列中小于n的最大的一个数,结果由函数返回。

    Fibonacci数列F(n)的定义为

    F(0)=O,F(1)=1

    F(n)=F(n-1)+F(n-2)

    例如,n=500时,函数值为377。

    注意:部分源程序给出如下。

    请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填写所编写的若干语句。

    试题程序:


    正确答案:


    【解析】由题目中所给的公式可知,Fibonacci数列的第n项为第n-1项和第n-2项的和。要求Fibonacci数列中小于n的最大的一个数。首先根据公式求出Fibonacci数列的第n项的值,当第i项大于n,则返回第i-1项的值。

  • 第11题:

    试题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

  • 第12题:

    单选题
    avg函数的功能是求整型数组中的前若干个元素的平均值,设数组元素个数最多不超过10,则下列函数说明语句错误的是(  )。
    A

    int avg(int *a,int n);

    B

    int avg(int a[10],int n);

    C

    int avg(int a,int n);

    D

    int avg(int a[],int n);


    正确答案: C
    解析:
    C项,函数第一个形参的数据类型是int型,只能传递单个整型数值。而a表示整型数组的首地址,不能直接传递给它,因此不符合题目要求,声明不正确。答案选择C选项。

  • 第13题:

    以下函数的功能是求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。

    例如,若x中的值为30,则有4个数符合要求,它们是1,3,5,15。

    请按题意,完成填空。

    试题程序:

    #include <conio.h>

    #include <stdio.h>

    void fun (int x, int pp[], int *n)

    { int i,j=0;

    【13】

    if(x%i==0)pp[j++]=i;

    【14】;

    }

    main ()

    { int? x,aa[1000], n, i ;

    clrscr();

    printf("\nPlease enter an integer number : \n "); scanf ("%d ", &x);

    fun (x, aa, &n);

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

    printf ("%d ", aa [i]);

    printf ("\n ");

    }


    正确答案:
    for(i=1;i <x;i+=2);*n=j

  • 第14题:

    阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

    【程序2.1说明】

    已知一个排好序的数组,现输入一个数,要求按原来的顺序规律,将它插入到数组中。

    【程序2.1】

    include <stdioh>

    define N 100

    void main()

    {

    float a[N+l],x;

    int i,p;

    printf("输入已经排好序的数列: ");

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

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

    printf("输入要插入的数:");

    scanf("%f",&x);

    for(i=0,p=N; i<N; i++)

    if(x<a[i])

    {

    (1)

    break;

    }

    for(i=N-1; i>=p; i--)

    (2)

    (3)

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

    prinff("%f\t",a[i]);

    }

    【程序2.2说明】

    本程序用变量count统计文件中字符的个数。

    【程序2.2】

    include <stdio.h>

    include <stdlib.h>

    void main()

    {

    FILE *fp;

    long count=0;

    if((fp=fopen("letter.txt","r"))==NULL)

    {

    printf("can not open file\n");

    exit(0);

    }

    while(!feof(fp))

    {

    (4)

    count++;

    }

    printf("count=%d\n",count);

    (5)

    }


    正确答案:(1)p=i (2)a[i+1]=a[i]; (3)a[p]=x; (4)fgetc(fp); (5)fclose(fp);
    (1)p=i (2)a[i+1]=a[i]; (3)a[p]=x; (4)fgetc(fp); (5)fclose(fp); 解析:本题考查在C语言中实现对数组的插入和对文件中字符个数的统计。
    我们先来看程序2.1。题目要求在程序2.1中实现在排好序的数组中插入一个数,但不能改变数组中数字排序的规律。由于数组是已经排好序的,它有可能是按不递减的方法排序,也有可能是按不递增的方法排序。在插入时,从数组中第一个数开始,逐个进行比较,直到找到比其大或相等的数,在其前面进行插入,在插入前应该先将数组中的元素逐个后移。
    下面我们来看代码。代码中有三个循环,第(1)空在第一个循环体下面的条件判断语句里,条件判断语句是判断要插入的数J与数组中元素的大小,如果数x小于数组中的元素,就执行第(1)空的语句。从上面的分析,再结合第二个循环语句的条件,我们可以知道,此空的作用是记录数要插入的位置,并把这个结果存放在变量p中,所以,答案为p=i。
    第(2)空所在的位置是第二个循环体下面,根据分析,要完成的任务应该是将数组中要插入位置后的元素逐个往后移动。所以,此空的答案为a[i+1]=a[i]。
    在完成了上述两空之后,再结合整个程序来看,很明显还有一个功能没有完成,那就是插入数x,第(3)空就是用于完成这个任务的。由于在代码的前面已经记录下了要插入的位置,所以,此空答案为a[p]=x。
    在程序2.2中,题目要求完成的任务是用变量count统计文件中字符的个数,要实现对文件中字符个数的统计,首先需要我们判断出哪些是字符,这就涉及C语言中对文件中字符的判定。此外,还需要我们掌握对文件的基本操作。
    下面,我们来看程序2.2的代码。首先用一个条件判断语句来打开一个文件,如果打开成功,则执行下面的while循环语句,循环体的功能是对文件中的内容逐个判断,如果是字符,则统计变量count加1,因此,第(4)空的功能就是要找出文件中的所有字符。这里没有条件判断语句来判段是否是字符,需要用到C语言中对文件处理的一个函数fgetc(),其作用是可以取出文件中所有的字符,因此,此空答案为fgetc(fp)。
    第(5)空在代码的最后面,如果我们对文件操作很熟悉的话,不难发现文件在打开后还没有关闭,此空要实现的功能是关闭文件,因此,此空答案为fclose(fp)。

  • 第15题:

    以下fun函数的功能是:找出具有N个元素的一维数组中的最小值,并作为函数值返回,请填空。(设N己定义)

    int fun(int x[N])

    {int i,k=0

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

    if(x[i]<x[k])k=_____;

    return x[k];

    }


    正确答案:i
    i 解析:循环语句依次查找数组的元素,下标从0到N-1,当x[i]的值小于k时,记录i值即此元素的下标,然后再将其余元素与新的k元素比较,最终求得最小值。所以填i。

  • 第16题:

    请编写函数fun(),它的功能是求Fibonacci数列中小于t的最大的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为

    F(0)=0,F(1)=1

    F(n)=F(n-1)+F(n-2)

    例如:t=1000时,函数值为987。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

    试题程序:

    include <conio.h>

    include <math.h>

    include <stdio.h>

    int fun(int t)

    {

    }

    main()

    {

    int n;

    clrscr();

    n=1000;

    printf("n=%d, f=%d\n",n, fun(n));

    }


    正确答案:int fun(int t) { int a=1b=1c=0i; /*a代表第n-2项b代表第n-1项c代表第n项*/ /*如果求得的数。比指定比较的数小则计算下一个Fibonacci数对ab得新置数*/ do { c=a+b; a=b; b=c; } while(ct); /*如果求得的数c比指定比较的数大时退出循环*/ c=a; /*此时数c的前一个Fibonacci数为小于指定比较的数的最大的数*/ return c; }
    int fun(int t) { int a=1,b=1,c=0,i; /*a代表第n-2项,b代表第n-1项,c代表第n项*/ /*如果求得的数。比指定比较的数小,则计算下一个Fibonacci数,对a,b得新置数*/ do { c=a+b; a=b; b=c; } while(ct); /*如果求得的数c比指定比较的数大时,退出循环*/ c=a; /*此时数c的前一个Fibonacci数为小于指定比较的数的最大的数*/ return c; } 解析:根据所给数列定义不难发现,该数列最终的结果是由两个数列之和组成,所以可以在循环内部始终把c看成是前两项之和(即第n项),而a始终代表第n-2项,b始终代表第n-1项(通过不断地重新赋值来实现)。应注意,退出循环时得到的数c是大于指定比较的数的最小的数,而它的前一个数就是小于指定比较的数的最大的数。

  • 第17题:

    下列程序中函数fun的功能是:统计person所指结构体数组中所有性别(sex)为M的记录的个数,存入变量n中,并作为函数值返回。请填空。

    include <stdio.h>

    define N 3

    typedef struct

    { int num; char nam[10]; char sex;} SS;

    int fun(SS person[])

    { int i,n=0;

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

    if(【 】=='M') n++;

    return n;

    }

    main()

    { SS W[N]={{1,"AA",'F'},{2,"BB",'M'},{3,"CC",'M'}}; int n;

    n=fun(W); printf("n=%d\n", n);

    }


    正确答案:person[i].sex
    person[i].sex 解析:本题考查的是对结构体成员的引用,对结构体数组成员的访问是以数组元素为结构体变量的,其形式为结构体数组元素咸员名,所以题目空白处应填person[i].sex。

  • 第18题:

    补充程序Ccon0210.C,该程序的功能是找出数组中的最小数min1和次小数min2。


    Mn2=a[0]>a[1]?/**/a[0]:a[1];/**/
    /**/min2=a[i];/**/

  • 第19题:

    请编写函数void proc(int X,int pp[],int*n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。

    例如,若X中的值为50,则有3个数符合要求,它们是

    1,5,25。

    注意:部分源程序给出如下。

    请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。

    试题程序:


    正确答案:


    【解析】按照题目中要求求出能整除x且不是偶数的各整数,可以通过判断小于整数x的所有整数能否整除x。将能整除x的所有奇数放入数组pp中。最后将符和条件的整数个数通过形参返回到主函数当中。

  • 第20题:

    有以下函数 int fun(char*X,char*y) { int n=0; while((*x= = =*y)*x!=\O){x++; y++; n++;} return n; } 函数的功能是( )。

    A.查找X和y所指字符串中是否有\o

    B.统计x和Y所指字符串中最前面连续相同的字符个数

    C.将Y所指字符串赋给X所指定存储空间

    D.统计X和Y所指字符串中相同的字符个数


    正确答案:B
    由题中while(*x==*y*x!=\n)可知此函数是统计x和y所指向的字符串中最前面的联系相同的字符的个数。

  • 第21题:

    从键盘输入一组无符号整数并保存在数组arr[N]中,以整数0结束输入,即第N+1个数是0,要求这些数的最大位数不超过4位,其元素的个数通过变量num传人函数proc()。请补充函数proc(),其功能是:从数组arr中找出个位和十位的数字之和大于5的所有无符号整数,结果保存在数组yy中,其个数由函数proc返回。

    例如,当arr[8]={13,1,205,252,2,333,4444,21)时实际输人时,数与数之间用Enter键分开,bb[4]={252,333,4444)。

    注意:部分源程序给出如下。

    请勿改动函数main()和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。

    试题程序:


    正确答案:

    【1】arr[i]%10【2】bb[m++]=arr[i]【3】m
    【解析】将一个整数对l0取余,则得到该整数的个位数,将一个整数除以10再对10取余。则得到该整数的十位数。由程序可以看出,变量s保存了整数的十位数,所以应该将整数的个位数保存在变量g中;根据题意,当整数的个位与十位的数字之和大于5时,则将该整数保存到数组bb中;变量m记录了满足条件的无符号整数的个数,题目要求将满足条件的无符号整数的个数由proc()函数返回,所以函数返回m。

  • 第22题:

    试题29

    有以下函数

    int fun(char *x, char *y)

    { int n=0;

    while ((*x==*y)&&*x!=’\0’) {x++; y++; n++;}

    return n;

    }

    函数的功能是()

    A.查找x和y所指字符串中是否有’\n’

    B.统计x和y所指字符串中最前面连续相同的字符个数

    C.将y所指字符串赋给x所指存储空间

    D.统计x和y所指字符串中相同的字符个数


    正确答案:B
    试题29分析
    while ((*x==*y)&&*x!=’\0’)    {x++; y++; n++;}的意思为如果x和y所指向的单元的内容相等且x所指单元的字符串没有结束,x,y和n均向后移一位,然后继续判断。即统计x和y所指字符串中最前面连续相同的字符个数。
    试题29答案
    B

  • 第23题:

    编一个程序,定义一个数组,再定义类以及方法,用方法(out参数传递数据)找出这组数据中的最大数和最小数。


    正确答案: classClassName
    {
    publicvoidfind(outintmax,outintmin,paramsint[]array)
    {
    intn=array.Length,i=1;
    max=array[0];
    min=array[0];
    while(i{
    if(array[i]>max)
    max=array[i];
    else
    if(array[i]i++;
    }
    }
    }
    classProgram
    {
    staticvoidMain(string[]args)
    {
    intmax,min;
    int[]a=newint[10]{97,65,32,17,58,43,79,81,23,10};
    ClassNames=newClassName();
    s.find(outmax,outmin,a);
    Console.WriteLine("最大数为:"+max);
    Console.WriteLine("最小数为:"+min);

  • 第24题:

    问答题
    编一个程序,定义一个数组,再定义类以及方法,用方法(out参数传递数据)找出这组数据中的最大数和最小数。

    正确答案: classClassName
    {
    publicvoidfind(outintmax,outintmin,paramsint[]array)
    {
    intn=array.Length,i=1;
    max=array[0];
    min=array[0];
    while(i{
    if(array[i]>max)
    max=array[i];
    else
    if(array[i]i++;
    }
    }
    }
    classProgram
    {
    staticvoidMain(string[]args)
    {
    intmax,min;
    int[]a=newint[10]{97,65,32,17,58,43,79,81,23,10};
    ClassNames=newClassName();
    s.find(outmax,outmin,a);
    Console.WriteLine("最大数为:"+max);
    Console.WriteLine("最小数为:"+min);
    解析: 暂无解析