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

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

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

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

中国大学MOOC答案

">采用梯形法编程实现在积分区间[a,b]内计算下面两个函数的定积分。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。程序运行结果示例:y1=1.333350y2=1.151212#include  float Fun1(float x); float Fun2(float x); float Integral(float (*f)(float), float a, float b); int main() {     float y1, y2;     y1 = Integral(Fun1, 0.0, 1.0);     y2 = Integral(Fun2, 0.0, 3.0);     printf("y1=%f\ny2=%f\n", y1, y2);     return 0; } /*  函数功能:计算函数1+x*x的函数值 */ float Fun1(float x) {     return  1 + x * x; } /*  函数功能:计算函数x/(1+x*x)的函数值 */ float Fun2(float x) {     return x / (1 + x * x); } /*    函数功能:用梯形法计算函数的定积分 */ float Integral(float (*f)(float), float a, float b) {     float s, h;     int n = 100, i;     s = __________;     h = __________;          for (i=1; i<n; i++)     {        s += __________;     }     return __________; }

采用梯形法编程实现在积分区间[a,b]内计算下面两个函数的定积分。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。程序运行结果示例:y1=1.333350y2=1.151212#include  float Fun1(float x); float Fun2(float x); float Integral(float (*f)(float)……继续阅读 »

中国大学MOOC答案

">下面程序的功能是输入某年某月某日,计算并输出它是这一年的第几天。程序的运行结果如下:Please enter year, month, day:2014,12,29↙yearDay = 363按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include     int  DayofYear(int year, int month, int day); int dayTab[2][13] = {{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}}; int main() {     int year, month, day, yearDay;     printf("Please enter year, month, day:");     scanf("%d,%d,%d", &year, &month, &day);     yearDay = DayofYear(year, month, day);     printf("yearDay = %d\n", yearDay);     return 0; } /* 函数功能:对给定的某年某月某日,计算并返回它是这一年的第几天 */ int  DayofYear(int year, int month, int day) {     int  i, leap;     leap = ________________________;  /* 若year为闰年,即leap值为1,则用第1行元素dayTab[1][i]计算;                                        否则leap值为0,用第0行dayTab[0][i]计算 */     for (i=1; _______; i++)     {         day = ________________;     }     return day;         /* 返回计算出的day的值 */ }

A、第18行:  ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)第20:    i<month第22行:  day + dayTab[leap][i] B、第18行:  ((year % 4 == 0) || (year % 100 != 0)) || (year ……继续阅读 »

中国大学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 = *y C、第41行: ……继续阅读 »

中国大学MOOC答案

">下面程序中子函数MonthDay()的功能是将某年的第几天转换为某月某日。程序的运行结果如下:Please enter year, yearDay:2014,100↙month = 4, day = 10按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include     void  MonthDay(int year, int yearDay, int *pMonth, int *pDay); int dayTab[2][13] = {{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}}; int main()      {     int year, month, day, yearDay;     printf("Please enter year, yearDay:");     scanf("%d,%d", &year, &yearDay);     _________________;     printf("month = %d, day = %d\n", month, day);      return 0;   } /* 函数功能:对给定的某一年的第几天,计算它是这一年的第几月第几日 */ void  MonthDay(int year, int yearDay, int *pMonth, int *pDay) {       int  i, leap;     leap = _________________________;          for (i=1; yearDay>dayTab[leap][i]; i++)     {         yearDay = ______________________;     }     ______________;        /* 将计算出的月份值赋值给pMonth所指向的变量 */          *pDay = yearDay;   /* 将计算出的日号赋值给pDay所指向的变量 */ }

A、第10行: MonthDay(year, yearDay, &month, &day)第19行: ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)第23行: yearDay – dayTab[leap][i]第25行: *pMonth = i……继续阅读 »

中国大学MOOC答案

">子函数Fun的功能是比较形参变量x和y所指的内存单元中的数据大小,将两者中的最小值返回。以下程序执行后输出结果是7,8,7。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include  int Fun(int *x,int *y) {      if(___________)  /*如果形参变量x所指的内存单元中的数据小于y所指的内存单元中的数据,则返回该最小值*/          return *x;     else          return *y; } int main() {      int a=7,b=8,_______,r;     p=&a;     q=&b;     r=____________;  /*调用子函数Fun,返回变量a和b中的最小值,将其存放到变量r中。*/          printf("%d,%d,%d\n",*p,*q,r);     return 0;   }

A、第4行: *x<*y第12行: *p,*q第15行: Fun(p,q) B、第4行: x<y第12行: *p,*q第15行: Fun(*p,*q) C、第4行: *x<*y第12行: p,q第15行: Fun(&p,&q) D、第4行: x<y第12行: *p,*q第15行: Fun(a,b) 喵查答案:第4行: ……继续阅读 »

中国大学MOOC答案

">下面程序的功能是输入某年某月某日,计算并输出它是这一年的第几天。程序的运行结果如下:Please enter year, month, day:2014,12,29↙yearDay = 363按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include     int  DayofYear(int year, int month, int day); int dayTab[2][13] = {{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}}; int main() {     int year, month, day, yearDay;     printf("Please enter year, month, day:");     scanf("%d,%d,%d", &year, &month, &day);     yearDay = DayofYear(year, month, day);     printf("yearDay = %d\n", yearDay);     return 0; } /* 函数功能:对给定的某年某月某日,计算并返回它是这一年的第几天 */ int  DayofYear(int year, int month, int day) {     int  i, leap;     leap = ________________________;  /* 若year为闰年,即leap值为1,则用第1行元素dayTab[1][i]计算;                                        否则leap值为0,用第0行dayTab[0][i]计算 */     for (i=1; _______; i++)     {         day = ________________;     }     return day;         /* 返回计算出的day的值 */ }

A、 第18行:  ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0) 第20:    i<month 第22行:  day + dayTab[leap][i] B、 第18行:  ((year % 4 == 0) || (year % 100 != 0)) || (y……继续阅读 »

中国大学MOOC答案

">下面程序中子函数MonthDay()的功能是将某年的第几天转换为某月某日。程序的运行结果如下:Please enter year, yearDay:2014,100↙month = 4, day = 10按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include     void  MonthDay(int year, int yearDay, int *pMonth, int *pDay); int dayTab[2][13] = {{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}}; int main()      {     int year, month, day, yearDay;     printf("Please enter year, yearDay:");     scanf("%d,%d", &year, &yearDay);     _________________;     printf("month = %d, day = %d\n", month, day);      return 0;   } /* 函数功能:对给定的某一年的第几天,计算它是这一年的第几月第几日 */ void  MonthDay(int year, int yearDay, int *pMonth, int *pDay) {       int  i, leap;     leap = _________________________;          for (i=1; yearDay>dayTab[leap][i]; i++)     {         yearDay = ______________________;     }     ______________;        /* 将计算出的月份值赋值给pMonth所指向的变量 */          *pDay = yearDay;   /* 将计算出的日号赋值给pDay所指向的变量 */ }

A、 第10行: MonthDay(year, yearDay, &month, &day) 第19行: ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0) 第23行: yearDay – dayTab[leap][i] 第25行: *pMonth……继续阅读 »

中国大学MOOC答案

">采用梯形法编程实现在积分区间[a,b]内计算下面两个函数的定积分。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。程序运行结果示例:y1=1.333350y2=1.151212#include  float Fun1(float x); float Fun2(float x); float Integral(float (*f)(float), float a, float b); int main() {     float y1, y2;     y1 = Integral(Fun1, 0.0, 1.0);     y2 = Integral(Fun2, 0.0, 3.0);     printf("y1=%f\ny2=%f\n", y1, y2);     return 0; } /*  函数功能:计算函数1+x*x的函数值 */ float Fun1(float x) {     return  1 + x * x; } /*  函数功能:计算函数x/(1+x*x)的函数值 */ float Fun2(float x) {     return x / (1 + x * x); } /*    函数功能:用梯形法计算函数的定积分 */ float Integral(float (*f)(float), float a, float b) {     float s, h;     int n = 100, i;     s = __________;     h = __________;          for (i=1; i<n; i++)     {        s += __________;     }     return __________; }

采用梯形法编程实现在积分区间[a,b]内计算下面两个函数的定积分。 按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 程序运行结果示例: y1=1.333350 y2=1.151212 #include  float Fun1(float x); float Fun2(float x); float Integral(float (*f)……继续阅读 »

中国大学MOOC答案

">子函数Fun的功能是比较形参变量x和y所指的内存单元中的数据大小,将两者中的最小值返回。以下程序执行后输出结果是7,8,7。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求#include  int Fun(int *x,int *y) {      if(___________)  /*如果形参变量x所指的内存单元中的数据小于y所指的内存单元中的数据,则返回该最小值*/          return *x;     else          return *y; } int main() {      int a=7,b=8,_______,r;     p=&a;     q=&b;     r=____________;  /*调用子函数Fun,返回变量a和b中的最小值,将其存放到变量r中。*/          printf("%d,%d,%d\n",*p,*q,r);     return 0;   }

A、 第4行: *x<*y 第12行: *p,*q 第15行: Fun(p,q) B、 第4行: x<y 第12行: *p,*q 第15行: Fun(*p,*q) C、 第4行: *x<*y 第12行: p,q 第15行: Fun(&p,&q) D、 第4行: x<y 第12行: *p,*q 第15行: Fun(a,b……继续阅读 »