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

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

中国大学MOOC答案

">根据最大公约数的如下3条性质,采用递归法编写计算最大公约数的函数Gcd(),在主函数中调用该函数计算并输出从键盘任意输入的两正整数最大公约数。性质1  如果a>b,则a和b与a-b和b的最大公约数相同,即Gcd(a, b) = Gcd(a-b, b)性质2  如果b>a,则a和b与a和b-a的最大公约数相同,即Gcd(a, b) = Gcd(a, b-a)性质3  如果a=b,则a和b的最大公约数与a值和b值相同,即Gcd(a, b) = a = b代码如下,请补充程序中缺少的内容。#include   int Gcd(int a, int b); int main()  {           int a, b, c;           printf("Input a,b:");           scanf("%d,%d", &a, &b);      c = Gcd(a, b);      if (_________)           printf("Greatest Common Divisor of %d and %d is %d\n", a, b, c);      else                   printf("Input number should be positive!\n");      return 0;  } int Gcd(int a, int b)  {           if (_______________)                return -1;      if (a == b)           return __________;      else if (a > b)           return __________;      else                   return ___________;  }

A、 第9行:  c!= -1 第18行:  a <= 0 || b <= 0 第21行:  a第23行: Gcd(a – b, b) 第25行: Gcd(a, b – a) B、 第9行:  c== -1 第18行:  a <= 0 && b <= 0 第21行: a第23行: Gcd(a &……继续阅读 »

中国大学MOOC答案

">子函数Incre()的功能是,利用静态变量,使子函数的输出值能够随调用次数的增加依次为:第1次调用,输出:的结果第2次调用,输出:的结果第3次调用,输出:的结果…..在下面的程序中,对子函数Incre()进行了两次调用,若使程序的输出结果是:26请补充完整空白处缺少的代码。#include  int x=3; void Incre(); int main() {        int i;      for (i=1;_______;i++)  Incre();     return 0; } void Incre() {        ___________;          x*=x+1;     printf("%d\n",x); }

子函数Incre()的功能是,利用静态变量,使子函数的输出值能够随调用次数的增加依次为: 第1次调用,输出:的结果 第2次调用,输出:的结果 第3次调用,输出:的结果 ….. 在下面的程序中,对子函数Incre()进行了两次调用,若使程序的输出结果是: 2 6 请补充完整空白处缺少的代码。#include  int x=3; void Incre……继续阅读 »

中国大学MOOC答案

函数Sum(int n)是用递归方法计算下面的公式,请补充程序中缺少的内容。int Sum(int n) {     if (n <= 0) printf("data error\n");     if (n == 1)_________________;     else return ____________________; }

函数Sum(int n)是用<strong>递归方法</strong>计算下面的公式,请补充程序中缺少的内容。<code>int Sum(int n)
{
    if (n <= 0) printf("data error\n");
    if (n == 1)_________________;
    else return ____________________;
}</code>
函数Sum(int n)是用递归方法计算下面的公式,请补充程序中缺少的内容。int Sum(int n) {     if (n <= 0) printf("data error\n");     if (n == 1)_________________;     else return ____________________; ……继续阅读 »

中国大学MOOC答案

Y()是实现n层嵌套平方根计算的函数,其公式如下,请将程序补充完整。double Y(double x, int n) {     if (n == 0) return 0;     else        return (square(x +___________________));  }

Y()是实现n</em>层嵌套<strong>平方根</strong>计算的函数,其公式如下,请将程序补充完整。<code>double Y(double x, int n)
{
    if (n == 0) return 0;
    else        return (square(x +___________________)); 
}</code>
Y()是实现n层嵌套平方根计算的函数,其公式如下,请将程序补充完整。double Y(double x, int n) {     if (n == 0) return 0;     else        return (square(x +___________________));  } A、Y(x,n-1) B、Y(x,n) C、Y(x,n+1) D……继续阅读 »

中国大学MOOC答案

下面程序是用辗转相除法计算两个正整数的最大公约数递归求解方法。请将程序补充完整。提示:辗转相除法的基本思路是,对正整数a和b,连续进行求余运算,直到余数为0为止,此时非0的除数就是最大公约数。设r=a mod b表示a除以b的余数,若r≠0,则将b作为新的a,r作为新的b,重复a mod b运算,直到r=0时为止,此时b为所求的最大公约数。例如,50和15的最大公约数的求解过程可表示为:Gcd(50, 15)=Gcd(15, 5)=Gcd(5, 0)=5。int Gcd(int a, int b) {     if (a%b == 0)         return b;     else         return ____________________; }

下面程序是用辗转相除法计算两个正整数的<strong>最大公约数</strong>的<strong>递归求解</strong>方法。请将程序补充完整。<strong>提示:</strong>辗转相除法的基本思路是,对正整数a和b,连续进行求余运算,直到余数为0为止,此时非0的除数就是最大公约数。设r=a mod b表示a除以b的余数,若r≠0,则将b作为新的a,r作为新的b,重复a mod b运算,直到r=0时为止,此时b为所求的最大公约数。例如,50和15的最大公约数的求解过程可表示为:Gcd(50, 15)=Gcd(15, 5)=Gcd(5, 0)=5。<code>int Gcd(int a, int b)
{
    if (a%b == 0)
        return b;
    else
        return ____________________;
}</code>
A、Gcd(b, a%b) B、Gcd(a, b%a) C、Gcd(b%a, a) D、Gcd(a%b, b) 喵查答案:Gcd(b, a%b) ……继续阅读 »

中国大学MOOC答案

下面函数是求阶乘递归函数,请将程序补充完整。long Fact(int n) {     if (n < 0)      return 0;     if (n==1 || n==0) __________________;     else ____________________; }

下面函数是求<strong>阶乘</strong>的<strong>递归函数</strong>,请将程序补充完整。<code>long Fact(int n)
{
    if (n < 0)      return 0;
    if (n==1 || n==0) __________________;
    else ____________________;
}</code>
A、第4行: return  1 第5行: return n*Fact(n-1) B、第4行: return  0第5行: return n*Fact(n-1) C、第4行: return  -1 第5行: return (n-1)*Fact(n) D、第4行: return  1 第5行: return Fact(n-1) 喵查答案:第4行: return……继续阅读 »

中国大学MOOC答案

">子函数Fun(char x , char y)的功能是对任意两个字符x和y,如果x为真,则函数返回y的值,否则返回x的值。若使以下程序运行后的输出结果是7,请补充完整空白处缺少的代码。#include  char Fun(char x , char y) {      if(__________) return y;     else return x; } int main( ) {      char a='9',b='8',c='7';     printf("____",Fun(_______________));     return 0;  }

A、 第4行: x 第11行:%c         Fun(a,b),Fun(b,c) B、 第4行: x=0 第11行:%d         Fun(b,c),Fun(a,b) C、 第4行: x==0 第11行:%c         Fun(b,a),Fun(c,b) D、第4行: x!=0第11行:%d        Fun(c,b),Fun(b,a)……继续阅读 »

中国大学MOOC答案

下列说法正确的是

下列说法<strong>正确</strong>的是
A、递归算法的执行过程可分为递推和回归两个阶段。在递推阶段,必须要有终止递归的情况。当满足递归终止条件时,即获得最简单情况的解以后,开始进入回归阶段,即递归返回阶段。 B、基本条件是一个能控制递归过程结束的条件,是递归的出口,它本身不再使用递归的方式来定义。一般条件定义了递归关系,控制递归调用向着基本条件的方向转化。 C、数学归纳法是递归的数学基础。 D、形……继续阅读 »

中国大学MOOC答案

函数Sum(int n)是用递归方法计算下面的公式,请补充程序中缺少的内容。int Sum(int n) {     if (n <= 0) printf("data error\n");     if (n == 1)_________________;     else return ____________________; }

函数Sum(int n)是用<strong>递归方法</strong>计算下面的公式,请补充程序中缺少的内容。<code>int Sum(int n)
{
    if (n <= 0) printf("data error\n");
    if (n == 1)_________________;
    else return ____________________;
}</code>
函数Sum(int n)是用递归方法计算下面的公式,请补充程序中缺少的内容。 int Sum(int n) {     if (n <= 0) printf("data error\n");     if (n == 1)_________________;     else return ____________________;……继续阅读 »

中国大学MOOC答案

下面函数是求阶乘递归函数,请将程序补充完整。long Fact(int n) {     if (n < 0)      return 0;     if (n==1 || n==0) __________________;     else ____________________; }

下面函数是求<strong>阶乘</strong>的<strong>递归函数</strong>,请将程序补充完整。<code>long Fact(int n)
{
    if (n < 0)      return 0;
    if (n==1 || n==0) __________________;
    else ____________________;
}</code>
A、 第4行: return  1  第5行: return n*Fact(n-1) B、 第4行: return  0 第5行: return n*Fact(n-1) C、 第4行: return  -1  第5行: return (n-1)*Fact(n) D、 第4行: return  1  第5行: return Fact(n-1) 喵查答案: 第……继续阅读 »

中国大学MOOC答案

Y()是实现n层嵌套平方根计算的函数,其公式如下,请将程序补充完整。double Y(double x, int n) {     if (n == 0) return 0;     else        return (square(x +___________________));  }

Y()是实现n</em>层嵌套<strong>平方根</strong>计算的函数,其公式如下,请将程序补充完整。<code>double Y(double x, int n)
{
    if (n == 0) return 0;
    else        return (square(x +___________________)); 
}</code>
Y()是实现n层嵌套平方根计算的函数,其公式如下,请将程序补充完整。 double Y(double x, int n) {     if (n == 0) return 0;     else        return (square(x +___________________));  } A、Y(x,n-1) B、Y(x,n) C、Y(x,n+1) ……继续阅读 »