名词解释题俗不可耐 sú bù kþ nài

题目
名词解释题
俗不可耐 sú bù kþ nài

相似考题

3.下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从低到高的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include <conio.h>include <string.h>include <stdio.h>include <alloc.h>define N 10typedef struct SS{char num[10];int s;}STU;STU *fun(STU a[],int m){STU b[N],*t;int i, j,k;/*************found*************/*t=calloc(m,sizeof(STU));for(i=0;i<N;i++)b[i]=a[i];for(k=0;k<m;k++){/*************found*************/for(i=j=0;i<N;j++)if(b[i].s<b[j],s)j=i;/*************found*************/t[k].s=b[j].s;b[j].s=100;}return t;}outresult(STU a[],FILE *pf){int i;for(i=0;i<N;i++)fprintf(pf,"NO=%S Mark=%d\n",a[i].num,a[i].S);fprintf(pf,"\n\n");}main(){STU a[N]={{“A01”,77},{“A02”,85},{“A03”,96},{“A04”,65},{“A05”,75},{“A06”,96},{“A07”,76},{“A08”,63},{“A09”,69},{“A10”,78}};STU *porder;int i,m;clrscr();printf(“*****THE RESULT*****\n”);outresult(a,stdout);printf(“\nGive the number of the students who have lower score:”);scanf(“%d”,&m);while(m>10){printf(“\nGive the number of the students who have lower score:”);scanf(“%d”,&m);}porder=fun(a,m);printf(“*****THE RESULT*****\n”);printf(“The low:\n”);for(i=0;i<m;i++)printf(“%s %d\n”,porder[i].num,porder[i].s);free(porder);}

更多“俗不可耐 sú bù kþ nài”相关问题
  • 第1题:

    下列程序用来计算1+2+…n,当和大于100时停止计算,请填空。

    Private Sub Form_Click()

    Dim n as integer,s as integer,I as integer,k as integer

    s=0

    k=0

    n=inputbox(″请输入n的值)

    For i=1 to 100

    k=k+1

    s=s+I

    【 】

    Next i

    Print s

    End Sub


    正确答案:if s>100 then exit for
    if s>100 then exit for 解析:依题意,用变量S来记录1到n的累加和,当累加和S大于100时停止计算,故加入退出循环条件"if s>100 then exit for"

  • 第2题:

    下列给定程序中,函数fun()的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。

    请改正函数fun()中的错误,使它能得出正确的结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

    试题程序:

    include <stdio.h>

    define SIZE 20

    fun (double *s, double *w)

    { int k, i; double sum;

    for(k=2, i=0; i<SIZE; i++)

    {s [i]=k; k+=2;}

    sum=0.0;

    for(k=0, i=0; i<SIZE;i++)

    {sum+=s[i];

    /*************found**************/

    if(i+1%5==0)

    {w[k]=sum/5; Sum=0; k++;}

    }

    return k;

    }

    main()

    { double a[SIZE],b[SIZE/5];

    int i, k;

    k=fun(a/b);

    printf ("The original data:\n");

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

    {

    if(i%5==0)printf("\n");

    printf("%4.0f"/a[i]);

    }

    printf{"\n\nThe result:\n");

    for(i=0; i<k; i++) printf("%6.2f",b[i]);

    printf("\n\n");

    }


    正确答案:错误:if(i+1%5==0) 正确:if((i+1)%5==0)
    错误:if(i+1%5==0) 正确:if((i+1)%5==0) 解析:本题除了考查循环语句以外,其实就是一道简单的数学题,循环条件if(i+1%5==0)是一个标准的语法错误,这跟题目考查的知识点毫无关系,也就是说,做这样的题,只要读懂了题干意思,问题便可迎刃而解。

  • 第3题:

    有以下程序#include <stdio.h>int fun(int (*s)[4],int n, int k){ int m, i; m=s[0][k]; for(i=l; 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},{2l,22,23,24},{31,32,33,34}}; printf("%d\n", fun(a,4,0));}程序的运行结果是A.4 B.34C.31 D.32


    正确答案:C
    本题考查的重点还是二维数组的操作。题目将二维数组与函数相结合,考查了函数对二维数组的调用。程序主体分为两个部分:主函数main和函数fun。main函数结构较简单,功能很明确,首先初始化了一个二维数组,随后将fun(a,4,0)作为printf函数的实参输出。下面分析一下fun函数的作用,fun函数包括三个形参,其中一个形参为用指针定义的二维数组,另外两个为整型常量n和k。在fun函数中,先定义了一个整型变量m=s[0][k],表示m为s中第1行第k+1列的数据。下面的for循环是题目的关键,该for循环的意义是令m为数组s中k+1列从第1行到第n行的数据中最大的数值。题目中m的初始值为a[0][0],即m=1,从第1行到第4行第1列上的数值分别为1,11,21,31。最大的数为31,令m=31,返回m,并将m作为结果输出。

  • 第4题:

    以下程序中,函数 sumColumM的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。

    define M 2

    define N 4

    void SumColumMin(int a[M][N],int *sum)

    { int i,j,k,s=0;

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

    { k=0;

    for(j=1;j<M;j++)

    if(a[k][i]>a[j][i])k=j;

    s+=【 】;

    }

    【 】 =s;

    }

    main( )

    { int x[M][N]={3,2,5,1,4,1,8,3},s;

    SumColumMin(【 】);

    printf("%d\n",s);

    }


    正确答案:a[k][i] *sum x[M][N]&s
    a[k][i] *sum x[M][N],&s 解析:本题中if(a[k][I] >a [j] [I]) k=j;把一列中值较小的一个元素的索引存储到k中,所以[18]填[k] [i],[19]填返回值,右值为整型,所以应该填。sum,SnmColumMin(  )函数第一个参数为数组a[M][N],第二个参数为一个整型指针,所以[20]填x[M][N],&s。

  • 第5题:

    有以下程序 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。

  • 第6题:

    有下列程序: #include<stdi0.h> voidfun(int*S,intn1,intn2) { inti,j,t; i=n1;j=n2 while(i<j){t=s[i];s[i]=s[j];s[j]=t;i++;j --;} } voidmain( ) { inta[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.0987654321

    B.4321098765

    C.5678901234

    D.0987651234


    正确答案:C
    C。【解析】本题定义一个一维数组并赋初值,接着调用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[o]至a[9]这10个元素再逆序,再用printf函数输出结果为5678901234,故选项C正确。

  • 第7题:

    下面程序运行后的结果是( )。 Private Sub Form_Click() Dim s As Integer,k As Integer,i As Integer,n As Integer s=1 fori=1 to 3 forj=i to 3 for k=j to istep-1 s=s*k nextk,J,i print s End Sub

    A.6

    B.72

    C.144

    D.432


    正确答案:D

  • 第8题:

    有以下程序

    #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<l0;k++)printf("%d",a[k]); printf("\n");

    }

    程序的运行结果是

    A.0987654321

    B.4321098765

    C.5678901234

    D.0987651234


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

  • 第9题:

    下面程序的运行结果是【 】。

    main()

    { int i=0,j=10,k=2,s=0;

    for(;;)

    {i+=k;

    if(i>j)

    {printf("%d\n",s);

    break; }

    s+=i; } }


    正确答案:30
    30 解析:考查for循环的使用。题目中for(;;)表示:for循环的初始化表达式,条件表达式和修正表达式都省略了,表示进行for循环和for循环的终止都没有限制。

  • 第10题:

    main( )

    { int i=29,j=6,k=2,s;

    s=i+i/j%k-9;

    printf(“s=%d\n”,s);

    }


    正确答案:
    1. s=20

  • 第11题:

    单选题
    回归系数βi在1-α的置信水平下的置信区间为(  )。
    A

    β()i±tα(n-k-1)s(β()i

    B

    β()i±tα/2(n-k-1)s(β()i

    C

    β()i±tα(n-k)s(β()i

    D

    β()i±tα/2(n-k)s(β()i


    正确答案: C
    解析:
    除了对回归系数进行检验外,还可以求出各回归系数的置信区间。一般回归系数βi在1-α的置信水平下的置信区间为:β()i±tα/2(n-k-1)s(β()i),其中,β()i为回归系数估计值,n为样本数,k为自变量个数。

  • 第12题:

    名词解释题
    俗不可耐 sú bù kþ nài

    正确答案: 俗:庸俗;耐:忍受。庸俗得使人受不了。
    解析: 暂无解析

  • 第13题:

    #include <conio.h>

    #include <stdio.h>

    int fun(int *s, int t, int *k)

    { int i;

    *k=0;

    【15】

    if(s[*k]<s[i])*k=i;

    return【16】;

    }

    main()

    {

    int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;

    clrscr();

    fun(a, 10, &k);

    printf("%d, %d\n ", k, a[k]);

    }


    正确答案:
    for(i=0;i<t;i++);0

  • 第14题:

    主程序调用findmax函数求出数组中最大元素在数组中的下标,( )中需填写的内容是。 #include<stdio.h> findmax(int*s,int t,int*k) { int p; for(p=0,*k=p;p<t;p++)if(s[p]>s[*k])( );} main() { int a[10],i,k; for(i=0;i<10;i++)scanf("%d",&a[i]); findmax(a,10,&k); printf("%d%d\n" ,k,a[k]);}

    A.k=p

    B.*k=p

    C.k=p-s

    D.*k=p-s


    正确答案:B
    解析:数组元素可以通过数组首地址和下标的方式来引用,数组元素的下标是从0开始的,也可以将数组首地址赋给一个指针变量,通过指针和下标的方式来引用数组元素。注意:通过数组的首地址引用数组元素。

  • 第15题:

    下面程序的运行结果是______。

    main()

    { int i=0,j=10,k=2,s=0;

    {i+=k;

    if(i>j)

    {printf("%d\n",s);

    break;}

    s+=i;}}


    正确答案:

  • 第16题:

    运行下列程序时,若输入数据为“321”,则输出结果是( )。 main() {int num,i,j,k,s; scanf("%d",&num); if(num>99) s=3; else if(num>9) s=2; else s=1; i=num/100; j=(num-i*100)/10; k=(num-i*100-j*10); switch(s) {case 3:printf("%d%d%d\n",k,j,i); break; case 2:printf("%d%d\n",k,j); case 1:printf("%d\n",k); } }

    A.123

    B.1,2,3

    C.321

    D.3,2,1


    正确答案:A
    解析:本题考查if-else语句和switch语句。scan函数通过键盘读入nUm的值。因为num=321>99,所以s=3,i=3,i=2k=1。因为s=3,所以执行case 3,输出k,j,i的值,然后通过breed结束程序。

  • 第17题:

    有下列程序: 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)正确。

  • 第18题:

    下列给定程序中,函数fun()的功能是找出100~n(n不大于1000)之间百位数字加十位数字等于个位数字的所有整数,把这些整数放在s所指的数组中,个数作为函数值返回。

    请改正程序中的错误,使它能得到正确结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

    试题程序:

    include<stdio.h>

    define N 100

    int fun(int *s,int n)

    {

    int i,j,k,a,b,c;

    j=0;

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

    {

    /*************found***********/

    k=n;

    a=k%10;

    k/=10;

    b=k%10;

    c=k/10;

    if(a==b+c)

    /************found**************/

    s[j]=i;

    }

    return j;

    }

    main()

    {

    int a[N],n,num=0,i;

    do

    {

    printf("\nEnter n(<=1000):”);

    scanf("%d",&n);

    }

    while(n>1000);

    num=fun(a,n);

    printf("\n\nThe result:\n”);

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

    printf("%5d",a[i]);

    printf("\n\n");

    }


    正确答案:(1) 错误:k=n; 正确:k=i; (2) 错误:s[j]=i; 正确:s[j++]=i;
    (1) 错误:k=n; 正确:k=i; (2) 错误:s[j]=i; 正确:s[j++]=i; 解析:错误1:k就是当前要被判断的数,是随着i值的变化而变化的。错误2:在循环中,j是数组的下标要递增。

  • 第19题:

    下列程序的输出结果是______。include main(){union {int k;char i[2]; }*S,a; s=&

    下列程序的输出结果是______。#include <stdio.h>main(){ union { int k; char i[2]; } *S,a; s=&a; s->i[0]=0x39; s->i[1]=0x38; printf("%x\n",s->k);}

    A.3839

    B.3938

    C.380039

    D.390038


    正确答案:A

  • 第20题:

    有以下程序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}。

  • 第21题:

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

  • 第22题:

    俗不可耐 sú bù kþ nài


    正确答案: 俗:庸俗;耐:忍受。庸俗得使人受不了。

  • 第23题:

    单选题
    有以下程序: #include  void fun(int *s,int n1,int n2) {  int i,j,t;  i=n1;  j=n2;  while(i  {   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   printf("%d",a[k]);  printf(""); } 程序运行的结果是(  )。
    A

    0987654321

    B

    4321098765

    C

    5678901234

    D

    0987651234


    正确答案: C
    解析:
    函数fun的功能是:将数组s中从n1至n2的元素首尾互换,主函数中,依次对数组a的0~3、4~9、0~9位进行了三次调换,第一次调用后得到数组a为:{4,3,2,1,5,6,7,8,9,0},第二次调用后得到数组a为:{4,3,2,1,0,9,8,7,6,5},第三次调用后得到数组a为:{5,6,7,8,9,0,1,2,3,4}。答案选择C选项。

  • 第24题:

    单选题
    有以下程序:#include void fun(int *x,int s,int n){ int i; for(i=s;i>=n;i--)  *(x+i+3)=*(x+i);}main(){ int m[]={0,1,2,3,4,5,6,7,8,9},k; fun(m,10-4,3); for(k=0;k  printf("%d",m[k]);}程序的运行结果是(  )。
    A

    0123456345

    B

    0123453456

    C

    0123456666

    D

    0123454569


    正确答案: C
    解析:
    程序的执行过程为:定义数组m,并为其赋初值,数组长度为10。调用函数fun(m,6,3)。函数实现对数组m[6]~m[9]的重新赋值,令m[9]=m[6],m[8]=m[5],m[7]=m[4],m[6]=m[3],for循环结束之后数组为m= {0,1,2,3,4,5,3,4,5,6}。依次输出数组元素,答案选择B选项。