中国慕课第八周练兵区单选题

1单选(1分)

​假设有40个学生被邀请来给餐厅的饮食和服务质量打分,分数划分为1~10这10个等级(1表示最低分,10表示最高分),编程统计并按如下格式输出餐饮服务质量调查结果。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。

#include <stdio.h> #define  M  40 #define  N  11 int main() {     int  i, j, grade, feedback[M], count[N] = {0};     printf("Input the feedbacks of 40 students:\n");          for (i=0; i<M; i++)     {         scanf("%d", &feedback[i]);     }          for (i=0; i<M; i++)     {         _____________;     }          printf("Feedback\tCount\tHistogram\n");          for (_________; grade<=N-1; grade++)     {          printf("%8d\t%5d\t", grade, count[grade]);         for (j=0; ___________; j++)         {             printf("%c",'*');         }         printf("\n");     }     return 0; }

  • A.第16行:    count[feedback[i]]++

    第21行:    grade=0

    第24行:    j<grade

  • B.第16行:    feedback[i]++

    第21行:    grade=1

    第24行:    j<N-1

    0.00/1.00

  • C.第16行:    count[feedback[i]]++

    第21行:    grade=1

    第24行:    j<count[grade]

  • D.第16行:    count[i]++

    第21行:    grade=0

    第24行:    j<N-1

正确答案:C

2单选(1分)

‎模拟骰子的6000次投掷,编程统计并输出骰子的6个面各自出现的概率。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。

#include _________ #include <time.h> #include <stdio.h> int main() {     int  face, roll, frequency[7] = {0};     srand(time (NULL));          for (roll=1; roll<=6000; roll++)     {          face = _____________;         __________________;     }          printf("%4s%17s\n", "Face", "Frequency");          for (face=1; face<=6; face++)     {         printf("%4d%17d\n", face, frequency[face]);     }          return 0; }

  • A.第1行:    <stdlib.h>

    第11行:    rand()%6 + 1

    第12行:    frequency[roll]++

  • B.第1行:    <math.h>

    第11行:    rand()/6 + 1

    第12行:    frequency[roll]++

  • C.第1行:    <stdlib.h>

    第11行:    rand()%6 + 1

    第12行:    frequency[face]++

    1.00/1.00

  • D.第1行:    <math.h>

    第11行:    rand()/6 + 1

    第12行:    frequency[face]++

正确答案:C

3单选(1分)

​以下程序中函数Sort的功能是对a所指数组中的数据进行由大到小的排序,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。

#include <stdio.h> void Sort(int a[],int n) {      int i,j,t;     for(i=0;_________;i++)         for(________;j<n;j++)             if(a[i]<a[j])             {                 t=a[i];                 __________;                 a[j]=t;             } } int main() {     int aa[10]={1,2,30,4,5,6,7,8,9,10},i;     __________;          for(i=0;i<10;i++)         printf("%d,",aa[i]);     printf("\n");     return 0;}

  • A.第5行:    i<n-1

    第6行:    j=i

    第10行:    a[i]=a[j]

    第18行:    Sort(aa[],10)

  • B.第5行:    i<=n

    j第6行:    =i

    第10行:    a[i]=a[j]

    第18行:    Sort(10,aa)

  • C.第5行:    i<n-1

    第6行:    j=i+1

    第10行:    a[i]=a[j]

    第18行:    Sort(aa,10)

  • D.第5行:    i<n

    第6行:    j=i+1

    第10行:    a[j]=a[i]

    第18行:    Sort(aa,10)

正确答案:C

4单选(1分)

下面代码的功能是在屏幕上输出以下内容

0

1

3

程序中空白处缺少的代码由下列选项给出,其中有一个不能满足题目要求,请将其找出。

#include <stdio.h> int main() {        int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=0;            for(i=0;i<3;i++)          for(j=i;j<=i;j++)             {                 t=t+____________;                 printf("%d\n",t);            }              return 0; }

  • A.b[j][t]

  • B.b[i][j]

  • C.b[t][j]

  • D.b[i][b[j][j]]

正确答案:A

5单选(1分)

‌以下程序的输出结果是

void swap1(int c[]) {      int t;     t=c[0];     c[0]=c[1];     c[1]=t; } void swap2(int c0,int c1) {      int t;     t=c0;     c0=c1;     c1=t; } int main( ) {      int a[2]={3,5},b[2]={3,5};     swap1(a);      swap2(b[0],b[1]);     printf("%d %d %d %d\n",a[0],a[1],b[0],b[1]);     return 0; }

  • A.5 3 3 5

  • B.5 3 5 3

  • C.3 5 5 3

  • D.3 5 3 5

正确答案:A

6.单选(1分)

‏下列说法正确的是

  • A.在C语言中,不带下标的数组名代表数组的首地址,即第一个元素在内存中的地址。

  • B.对于一个二维数组,可以按任意的顺序对其进行赋值,输出二维数组元素也可以按任意的顺序来输出。

  • C.在声明函数的二维数组形参时,可省略数组第二维的长度,但不能省略数组第一维的长度。

  • D.定义数组的大小、访问数组元素时在下标中都可以使用变量或表达式

正确答案:A

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值