中国大学慕课第8周测验

1单选(1分)

‏输入某班学生某门课的成绩(最多不超过40人,具体人数由用户键盘输入),用函数编程统计不及格人数。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。‍

#include  <stdio.h>

#define N 40

intGetFailNum(int score[], int n);

int main()

{    int i, n, fail, score[N];

    printf("How many students?");

    scanf("%d", &n);

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

    {         scanf("%d", _________);

    }

    fail = _____________;

    printf("Fail students = %d\n", fail);

    return 0; } /* 函数功能:统计不及格人数 */ int GetFailNum(int score[], int n)

{    int  i, count = 0;

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

    {        if (_________)  count++;

    }

    return count;

}

  • A.第11行:    score[i]

    第13行:    GetFailNum(n,score)

    第23行:    score[i] < 60

  • B.第11行:    &score[i]

    第13行:    GetFailNum(score[i], n)

    第23行:    score[i] >= 60

  • C.第11行:    &score[i]

    第13行:    GetFailNum(score, n)

    第23行:    score[i] < 60

  • D.第11行:    score[i]

    第13行:    GetFailNum(score, n)

    第23行:    score[i] <= 60

    答案:C

2单选(1分)

​输入n×n阶矩阵,用函数编程计算并输出其两条对角线上各元素之和。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。

#include <stdio.h>

#define  N   10

void InputMatrix(int a[N][N], int n);

int AddDiagonal(int a[N][N], int n);

int main()

{    int a[N][N], n, sum;                     printf("Input n:");

    scanf("%d", &n);

    InputMatrix(a, n);

    sum = AddDiagonal(a, n);

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

    return 0; } /*  函数功能: 输入n×n矩阵的元素值,存于数组a中 */ void InputMatrix(___________, int n)

{    int i, j;                     printf("Input %d*%d matrix:\n", n, n);

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

    {    for (j=0; j<n; j++)

        {          scanf("%d",___________);

        }

    }

} /*  函数功能: 计算n×n矩阵中两条对角线上的元素之和 */ int AddDiagonal(int a[N][N], int n)

{    int i, j, sum = 0;                     for (i=0; i<n; i++)

    {    for (j=0; j<n; j++)

        {     if (________________)                 sum = sum + a[i][j];

         }

     }

    return ____________;

}

  • A.第17行:    int a[N][N]

    第25行:    a[i][j]

    第38行:    i==j || i+j==n-1

    第42行:    a[N][N]

  • B.第17行:    int a[N][N]

    第25行:    &a[i][j]

    第38行:    i==j && i+j==n-1

    第42行:    a[i][j]

  • C.第17行:    int a[N][N]

    第25行:    &a[i][j]

    第38行:    i==j || i+j==n-1

    第42行:    sum

  • D.第17行:    int a[][]

    第25行:    &a[i][j]

    第38行:    i==j && i+j==n-1

    第42行:    sum

    答案:C

3单选(1分)

‍下面代码的功能是将数组a中存放的5个整型数据逆序后在屏幕上输出,具体输出内容如下:

‍5    4    3    2    1

‍按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。

#include <stdio.h>

void Fun(int b[],int i,int j)

{     int t;

     if(i<j)

     {     _________;                

             b[i]=b[j];

          _________;

          Fun(b,i+1,j-1);

     }

}

int main( )

{     int i,a[5]={1,2,3,4,5};

     _________;

     for(i=0;i<5;i++) printf("%d\t",a[i]);

     printf("\n");

     return 0;

}

  • A.第7行:    t=b[i]

    第10行:    b[i]=t

    第19行:    Fun(a,1,5)

  • B.第7行:    t=b[i]

    第10行:    b[j]=t

    第19行:    Fun(a,0,4)

  • C.第7行:    t=b[i]

    第10行:    b[i]=t

    第19行:    Fun(a,0,5)

  • D.第7行:    t=b[j]

    第10行:    b[j]=t

    第19行:    Fun(a,1,4)

  • 答案:B

4单选(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

    j第6行:    =i

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

    第18行:    Sort(10,aa)

  • B.第5行:    i<n

    第6行:    j=i+1

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

    第18行:    Sort(aa,10)

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

    第6行:    j=i

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

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

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

    第6行:    j=i+1

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

    第18行:    Sort(aa,10)

  • 答案:D

5单选(1分)

‌某矩阵m存储的数据如下:

‌1 4 7

‌2 5 8

‌3 6 9

‌现将该矩阵最后一行的所有数据输出到屏幕,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。

#include <stdio.h>

int main()

{    int m[][3]={1,4,7,2,5,8,3,6,9};

    int i,j,k=____;

    for(i=0;_______;i++)

    {       printf("%d",_________);

     }

    return 0;

}

  • A.第5行:    2

    第7行:    i<3

    第9行:    m[k][i]

  • B.第5行:    3

    第7行:    i<=3

    第9行:    m[k][i]

  • C.第5行:    2

    第7行:    i<2

    第9行:    m[i][k]

  • D.第5行:    3

    第7行:    i<3

    第9行:    m[i][k]

  • 答案:A

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值