快乐学习 一个网站喵查铺子(catpuzi.com)全搞定~

标签:C语言程序设计精髓

中国大学MOOC答案

模拟骰子的6000次投掷,编程统计并输出骰子的6个面各自出现的概率。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include _________ #include  #include  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; }

模拟骰子的6000次投掷,编程统计并输出骰子的<strong>6个面</strong>各自出现的<strong>概率</strong>。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。<code>#include _________
#include 
#include 
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;
}</code>
A、 第1行:     第11行:    rand()%6 + 1 第12行:    frequency[face]++ B、 第1行:     第11行:    rand()/6 + 1 第12行:    frequency[face]++ C、 第1行:     第11行:    rand()%6 + 1 第12行:    frequency[roll]……继续阅读 »

中国大学MOOC答案

以下程序中函数Fun的功能是对b所指数组中的第m至第n个数据取累加和,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include  Fun(________,int m,int n) {      int  i,s=0;     for( ______;i<=n;i++)           s=s+b[i];     return _______; } int main() {      int  x,a[]={1,2,3,4,5,6,7,8,9};     x=Fun(a,3,7);     printf("%d\n",x);     return 0; }

以下程序中函数Fun的功能是对b所指数组中的第m至第n个数据取<strong>累加和</strong>,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。<code>#include 
Fun(________,int m,int n)
{ 
    int  i,s=0;
    for( ______;i<=n;i++)  
        s=s+b[i];
    return _______;
}

int main()
{ 
    int  x,a[]={1,2,3,4,5,6,7,8,9};
    x=Fun(a,3,7);
    printf("%d\n",x);
    return 0;
}</code>
A、 第2行:    int b[] 第5行:    i=m 第7行:    s B、 第2行:    int b[] 第5行:    i=1 第7行:    i C、 第2行:    int b 第5行:    i=0 第7行:    s D、 第2行:    int b[] 第5行:    i=n-1 第7行:    b[i] 喵查答案: 第2行:   ……继续阅读 »

中国大学MOOC答案

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

以下程序中函数Sort的功能是对a所指数组中的数据进行<strong>由大到小</strong>的排序,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。<code>#include 
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;</code>
A、 第5行:    i<n-1 第6行:    j=i+1 第10行:    a[i]=a[j] 第18行:    Sort(aa,10) B、 第5行:    i<n-1 第6行:    j=i 第10行:    a[i]=a[j] 第18行:    Sort(aa[],10) C、 第5行:    i<n 第6行:    j=i+1 ……继续阅读 »

中国大学MOOC答案

以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出。程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是#include  int main() {      int n,k;     float score ,sum,ave;     sum=0.0;     for(n=1;n<=10;n++)     {          for(k=1;k<=4;k++)         {              scanf("%f",&score);              sum+=score;         }                  ave=sum/4.0;         printf("NO%d:%f\n",n,ave);              }          return 0;

以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的<strong>平均分</strong>并输出。程序运行后结果<strong>不正确</strong>,调试中发现有<strong>一条语句</strong>出现在程序中的<strong>位置不正确</strong>。这条语句是<code>#include 
int main()
{ 
    int n,k;
    float score ,sum,ave;
    sum=0.0;
    for(n=1;n<=10;n++)
    { 
        for(k=1;k<=4;k++)
        { 
            scanf("%f",&score); 
            sum+=score;
        }
        
        ave=sum/4.0;
        printf("NO%d:%f\n",n,ave);
        
    }
    
    return 0;</code>
A、sum=0.0; B、sum+=score; C、ave=sun/4.0; D、printf(“NO%d:%f\n”,n,ave); 喵查答案:sum=0.0; ……继续阅读 »

中国大学MOOC答案

以下程序中函数Reverse的功能是对数组a中的一半元素逆序后一半元素逆序,再将逆序后的前、后两部分数据位置交换。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。例如:主程序中数组b中的元素为{16,22,13,41,50,62,27,18,9,10},调用函数Reverse后,数组b中元素变为{10 9 18 27 62 50 41 13 22 16}#include  void Reverse(int a[],int n) {        int i,t;     for(i=0;________;i++)      {           t=a[i];           __________;           a[n-i]=t;       } } int main() {        int b[10]={16,22,13,41,50,62,27,18,9,10};      int i,s=0;     __________;          for(i=0;i<10;i++)      {          printf("%4d",b[i]);     }          return 0; }

以下程序中函数Reverse的功能是对数组a中的<strong>前</strong><strong>一半元素逆序</strong>、<strong>后一半元素</strong><strong>逆序</strong>,再将<strong>逆序后</strong>的前、后两部分数据<strong>位置交换</strong>。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。例如:主程序中数组b中的元素为{16,22,13,41,50,62,27,18,9,10},调用函数Reverse后,数组b中元素变为<strong>{10 9 18 27 62 50 41 13 22 16}</strong><code>#include 
void Reverse(int a[],int n)
{   
    int i,t;
    for(i=0;________;i++)
     { 
         t=a[i]; 
         __________; 
         a[n-i]=t;
      }
}

int main()
{   
    int b[10]={16,22,13,41,50,62,27,18,9,10}; 
    int i,s=0;
    __________;
    
    for(i=0;i<10;i++) 
    {
         printf("%4d",b[i]);
    }
    
    return 0;
}</code>
A、 第5行:    i<=n/2 第8行:    a[i]=a[n-i] 第17行:    Reverse(b,9) B、 第5行:    i<=n 第8行:    a[n-i]=a[i] 第17行:    Reverse(b,9) C、 第5行:    i<=n/2 第8行:    a[n]=a[i] 第17行:    Reverse(……继续阅读 »

中国大学MOOC答案

">输入n×n阶矩阵,用函数编程计算并输出其两条对角线上各元素之和。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include  #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行:    sum B、 第17行:    int a[N][N] 第25行:    &a[i][j] 第38行:    i==j && i+j==n-1 第42行:    a[i][j……继续阅读 »

中国大学MOOC答案

下面代码的功能是将数组a中存放的5个整型数据逆序后在屏幕上输出,具体输出内容如下:5    4    3    2    1按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include  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中存放的5个整型数据<strong>逆序</strong>后在屏幕上输出,具体输出内容如下:5    4    3    2    1按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。<code>#include 
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;
 }</code>
A、 第7行:    t=b[i] 第10行:    b[j]=t 第19行:    Fun(a,0,4) B、 第7行:    t=b[i] 第10行:    b[i]=t 第19行:    Fun(a,0,5) C、 第7行:    t=b[j] 第10行:    b[j]=t 第19行:    Fun(a,1,4) D、 第7行:    t=b[i] ……继续阅读 »

中国大学MOOC答案

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

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

中国大学MOOC答案

">输入某班学生某门课的成绩(最多不超过40人,具体人数由用户键盘输入),用函数编程统计不及格人数。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include   #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(score, n)第23行:    score[i] < 60 B、第11行:    score[i]第13行:    GetFailNum(score, n)第23行:    score[i] <= 60 C、第11行:    score[i]第13行:  ……继续阅读 »

中国大学MOOC答案

">输入n×n阶矩阵,用函数编程计算并输出其两条对角线上各元素之和。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include  #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行:    sum B、第17行:    int a[N][N]第25行:    &a[i][j]第38行:    i==j && i+j==n-1第42行:    a[i][j] C、第17行……继续阅读 »

中国大学MOOC答案

">输入某班学生某门课的成绩(最多不超过40人),当输入为负值时,表示输入结束,用函数编程统计成绩高于平均分的学生人数。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include  #define N 40 int Average(int score[], int n);  int ReadScore(int score[]);       int GetAboveAver(int score[], int n); int main() {     int score[N], m, n;     n = ReadScore(score);           /* 输入成绩,返回学生人数 */     printf("Total students are %d\n", n);     m = GetAboveAver(score, n);    /* 统计成绩在平均分及其上的学生人数 */        if (______________) printf("Students of above average is %d\n", m);     return 0; } /* 函数功能:若n>0,则计算并返回n个学生成绩的平均分,否则返回-1 */ int Average(int score[], int n)  {     int i, sum = 0;     for (i=0; i0,则统计并返回成绩在平均分及平均分之上的学生人数,否则返回-1 */ int GetAboveAver(int score[], int n) {     int   i, count = 0, aver;     aver = ______________;  /* 计算并打印平均分 */     if (aver == -1) return -1;     printf("Average score is %d\n", aver);     for (i=0; i= aver)  count++;     }     return __________; }

A、第12行:    m != -1第24行:    n>0 ? sum/n : -1第35行:    score[i] >= 0第36行:    i第43行:    Average(score, n)第50行:    count B、第12行:    m == -1第24行:    n>0 ? sum/n : -1第35行:    sco……继续阅读 »

中国大学MOOC答案

以下程序中函数Reverse的功能是对数组a中的一半元素逆序后一半元素逆序,再将逆序后的前、后两部分数据位置交换。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。例如:主程序中数组b中的元素为{16,22,13,41,50,62,27,18,9,10},调用函数Reverse后,数组b中元素变为{10 9 18 27 62 50 41 13 22 16}#include  void Reverse(int a[],int n) {        int i,t;     for(i=0;________;i++)      {           t=a[i];           __________;           a[n-i]=t;       } } int main() {        int b[10]={16,22,13,41,50,62,27,18,9,10};      int i,s=0;     __________;          for(i=0;i<10;i++)      {          printf("%4d",b[i]);     }          return 0; }

以下程序中函数Reverse的功能是对数组a中的<strong>前</strong><strong>一半元素逆序</strong>、<strong>后一半元素</strong><strong>逆序</strong>,再将<strong>逆序后</strong>的前、后两部分数据<strong>位置交换</strong>。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。例如:主程序中数组b中的元素为{16,22,13,41,50,62,27,18,9,10},调用函数Reverse后,数组b中元素变为<strong>{10 9 18 27 62 50 41 13 22 16}</strong><code>#include 
void Reverse(int a[],int n)
{   
    int i,t;
    for(i=0;________;i++)
     { 
         t=a[i]; 
         __________; 
         a[n-i]=t;
      }
}

int main()
{   
    int b[10]={16,22,13,41,50,62,27,18,9,10}; 
    int i,s=0;
    __________;
    
    for(i=0;i<10;i++) 
    {
         printf("%4d",b[i]);
    }
    
    return 0;
}</code>
A、第5行:    i<=n/2第8行:    a[i]=a[n-i]第17行:    Reverse(b,9) B、第5行:    i<=n第8行:    a[n-i]=a[i]第17行:    Reverse(b,9) C、第5行:    i<=n/2第8行:    a[n]=a[i]第17行:    Reverse(9,b) D、第5……继续阅读 »

中国大学MOOC答案

">某矩阵m存储的数据如下:1 4 72 5 83 6 9现将该矩阵最后一行的所有数据输出到屏幕,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include  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] 喵查答案:第5行:    2第……继续阅读 »

中国大学MOOC答案

下列说法正确的是

下列说法<strong>正确</strong>的是
A、在C语言中,数组的下标都是从0开始的。 B、在C语言中,不带下标的数组名代表数组的首地址,即第一个元素在内存中的地址。 C、简单变量做函数参数时,是将实参的值传给形参,实参和形参在内存中占用不同的存储单元,因此形参值的改变不会影响实参。 D、数组做函数参数时,是将实参数组的首地址传给形参,形参数组和实参数组在内存中共享相同的存储单元,因此对形参数组元素值……继续阅读 »

中国大学MOOC答案

">用函数编程计算并输出如图所示的杨辉三角形。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include #define  N  20 void  CaculateYH(int a[][N], int  n); void  PrintYH(int a[][N], int  n); int main() {     int  a[N][N] = {0}, n;     printf("Input  n(n<20):");     scanf("%d", &n);          CaculateYH(a, n);     PrintYH(a, n);     return 0; } /* 函数功能:计算杨辉三角形前n行元素的值 */ void CaculateYH(__________, int n) {     int  i, j;     for (i=0; i<n; i++)      {            a[i][0] = 1;         ___________;       }     for (_______; i<n; i++)     {         for (j=1; j<=i-1; j++)         {            a[i][j] = __________________;         }    }  } /* 函数功能:输出杨辉三角形前n行元素的值 */ void PrintYH(int a[][N], int n) {     int  i, j;     for (i=0; i<n; i++)     {         for (j=0; _________; j++)         {             printf("%4d", a[i][j]);         }         printf("\n");     } }

用函数编程计算并输出如图所示的杨辉三角形。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include #define  N  20 void  CaculateYH(int a[][N], int  n); void  PrintYH(int a[][N], int  n); int main() {     int  a[N][N] ……继续阅读 »