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

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

中国大学MOOC答案

">下面程序的功能是从键盘输入10个整数,用函数编程实现计算其最大值最小值,并互换它们所在数组中的位置。程序运行结果如下:Input n(n<=10):10↙Input 10 Numbers:1 4 3 0 –2 6 7 2 9 -1 ↙Exchange results:     1     4     3     0     9     6     7     2    -2    -1按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include   void ReadData(int a[], int n); void PrintData(int a[], int n); void  MaxMinExchang(int a[], int n); void Swap(int *x, int *y); int main() {     int  a[10], n;     printf("Input n(n<=10):");     scanf("%d", &n);     printf("Input %d numbers:", n);     ReadData(a, n);      MaxMinExchang(a, n);     printf("Exchange results:");     PrintData(a, n);      return 0; } /* 函数功能:输入数组a的n个元素值 */ void ReadData(int a[], int n)   {     int i;     for (i=0; i<n; i++)      {           scanf("%d", &a[i]);      } } /* 函数功能:输出数组a的n个元素值 */ void PrintData(int a[], int n)   {     int i;     for (i=0; i<n; i++)      {           printf("%5d", a[i]);      }     printf("\n"); } /* 函数功能:将数组a中的最大数与最小数位置互换 */ void  MaxMinExchang(________, int n) {     int  maxValue = a[0], minValue = a[0], maxPos = 0, minPos = 0;     int  i;     for (i=1; i maxValue)         {             maxValue = _______;             maxPos = ____;         }         if (a[i] < minValue)         {             minValue = a[i];             minPos = i;        } }         Swap(________________); } /* 函数功能:两整数值互换 */ void  Swap(int *x, int *y)                 {     int  ________;     temp = *x;                               _________;                          *y = temp;             }

A、 第41行: int a[] 第49行: a[i] 第50行: i 第58行: &a[maxPos], &a[minPos] 第64行: temp 第66行: *x = *y B、 第41行: int a 第49行: a[i] 第50行: i 第58行: a[maxPos], a[minPos] 第64行: temp 第66行: *x =……继续阅读 »

中国大学MOOC答案

">下面程序的功能是用函数编程实现两个数组中对应元素值的交换。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。程序的运行结果示例:Input array size(n<=10):5Input array a:1 2 3 4 5Input array b:6 7 8 9 10Output array a:    6    7    8    9   10Output array b:    1    2    3    4    5#include   #define N 10 void ReadData(int a[], int n); void PrintData(int a[], int n); void Swap(int *x, int *y); int main() {     int  a[N], b[N], i, n;     printf("Input array size(n<=10):");     scanf("%d", &n);     printf("Input array a:");     ReadData(a, n);     printf("Input array b:");     ReadData(b, n);     for (i=0; i<n; i++)       {          Swap(____________);       }     printf("Output array a:");     PrintData(a, n);     printf("Output array b:");     PrintData(b, n);     return 0; } /* 函数功能:输入数组a的n个元素值 */ void ReadData(int a[], int n) {     int i;     for (i=0; i<n; i++)      {           scanf("%d", &a[i]);      } } /* 函数功能:输出数组a的n个元素值 */ void PrintData(int a[], int n) {     int i;     for (i=0; i<n; i++)      {           printf("%5d", a[i]);      }     printf("\n"); } /* 函数功能:两整数值互换 */ void  Swap(int *x, int *y) {      int  temp;      ____________;      ____________;      ____________; }

A、 第17行:&a[i], &b[i] 第52行:temp = *x 第53行:*x = *y 第54行:*y = temp B、 第17行:a[i], b[i] 第52行:temp = *x 第53行:*x = *y 第54行:*y = temp C、 第17行:&a[i], &b[i] 第52行:*temp = *x 第……继续阅读 »

中国大学MOOC答案

">从键盘任意输入10个整数,计算并输出最大值和最小值及其它们在数组中的下标位置。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。程序运行结果示例1:Input 10 numbers:1 2 3 4 5 6 7 8 9 10max=10,pos=9min=1,pos=0程序运行结果示例2:Input 10 numbers:2 4 5 6 8 10 1 3 5 7 9max=10,pos=5min=1,pos=6#include  int FindMax(int a[], int n, int *pMaxPos); int FindMin(int a[], int n, int *pMinPos); int main() {     int a[10], maxValue, maxPos, minValue, minPos, i;     printf("Input 10 numbers:");     for (i=0; i<10; i++)     {         scanf("%d", &a[i]);             // 输入10个数     }     maxValue = FindMax(a, 10, _________);  // 找最大值及其所在下标位置     minValue = FindMin(a, 10, _________);  // 找最小值及其所在下标位置     printf("max=%d,pos=%d\n", maxValue, maxPos);     printf("min=%d,pos=%d\n", minValue, minPos);     return 0; } //函数功能:求有n个元素的整型数组a中的最大值及其所在下标位置,函数返回最大值 int FindMax(int a[], int n, int *pMaxPos) {     int i, max;     max = a[0];             //假设a[0]为最大值     __________;           //假设最大值在数组中的下标位置为0          for (i=1; i max)         {             max = a[i];             __________;     //pMaxPos指向最大值数组元素的下标位置         }     }     return max ; } //函数功能:求有n个元素的整型数组a中的最小值及其所在下标位置,函数返回最小值 int FindMin(int a[], int n, int *pMinPos) {     int i, min;     min = a[0];              //假设a[0]为最小     __________;            //假设最小值在数组中的下标位置为0          for (i=1; i<10; i++)     {         if (a[i] < min)         {             min = a[i];             __________;  //pMinPos指向最小值数组元素的下标位置         }     }     return min ; }

A、 第13行:&maxPos 第14行:&minPos 第25行:*pMaxPos = 0 第32行:*pMaxPos = i 第43行:*pMinPos = 0 第50行:*pMinPos = i B、 第13行:maxPos 第14行:minPos 第25行:pMaxPos = 0 第32行:*pMaxPos = i 第43行:pMin……继续阅读 »

中国大学MOOC答案

">某人有5张2分的邮票和5张3分的邮票,问使用这些邮票可以组合出多少种不同面值的邮资。(例如:1张2分邮票加1张3分邮票可以组成5分的邮资;3张2分的邮票或2张3分的邮票都可以组成同样的6分邮资。)按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include  int main() {     int i,j,k,s,n=0;     int a[100]={0};          for(i=0;_________;i++)         for(j=0;________;j++)         {             s=_____________;                          for(for(k=0;a[k]!=0;k++))                 if(s==a[k])                    _________;                                 if(a[k]==0&&s>0)             {                 _________;                 n++;             }         }              printf("\n %d kinds:",n);          for(k=0;a[k];k++)         printf("%2d,",a[k]);              return 0;

A、 第7行:    i<=5 第8行:    j<=5 第10行:    2*i+3*j 第14行:    break 第18行:    a[k]=s B、 第7行:    i<5 第8行:    j<5 第10行:    2*i+3*j 第14行:    break 第18行:    s=a[k] C、 第7行:    i<……继续阅读 »

中国大学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] 喵查答……继续阅读 »

中国大学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] ……继续阅读 »

中国大学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行:    ……继续阅读 »

中国大学MOOC答案

下面代码的功能是在屏幕上输出以下内容013程序中空白处缺少的代码由下列选项给出,其中有一个不能满足题目要求,请将其找出。#include  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; }

下面代码的功能是在屏幕上输出以下内容013程序中空白处缺少的代码由下列选项给出,其中<strong>有一个</strong><strong>不能满足</strong>题目要求,请将其找出。<code>#include 
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;
}</code>
A、b[j][t] B、b[i][b[j][j]] C、b[t][j] D、b[i][j] 喵查答案:b[j][t] ……继续阅读 »

中国大学MOOC答案

">以下程序的输出结果是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 3 5 D、3 5 5 3 喵查答案:5 3 3 5 ……继续阅读 »

中国大学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]……继续阅读 »