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

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

中国大学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) 喵查答案:第4行……继续阅读 »

中国大学MOOC答案

">子函数Fun(int a, int b)的功能是,对任意两个整数a和b,返回两者中的最大值。以下程序是通过调用子函数Fun(int a, int b),找到三个整数中的最大值。若程序运行后的输出结果是8,请补充完整空白处缺少的代码。#include  int Fun(int a, int b) {      if(a>b) return_________;     else return________; } int main() {      int x=3, y=8, z=6, r;     r=_______________;   // 找到三个整数x,y,z中的最大值          printf("%d", r);     return 0; }

A、第4行: a第5行: b第11行: Fun(Fun(x,y),z) B、第4行: b第5行: a第11行: Fun(x,y,z) C、第4行: 1第5行: 0第11行: Fun(x,y,z) D、第4行: 0第5行: 1第11行: Fun(Fun(x,y),z) 喵查答案:第4行: a第5行: b第11行: Fun(Fun(x,y),z) ……继续阅读 »

中国大学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答案

">子函数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()进行了两次调用,若使程序的输出结果是:26请补充完整空白处缺少的代码。#include  int x=3; void Incre(); int ……继续阅读 »

中国大学MOOC答案

请给出程序的运行结果。#include  int Fun(int m) {       static int n = 0;     m /= 2;     m = m * 2;     if (m)     {            n *= m;         return(Fun(m - 2));     }     else          return n; } int main() {        int a, i;          for (i = 0; i < 2; i++)     {             a = Fun(4 + i);         printf("%d\n", a);     }          return 0; }

请给出程序的运行结果。<code>#include 
int Fun(int m)
{   
   static int n = 0;
    m /= 2;
    m = m * 2;

    if (m)
    {   
        n *= m;
        return(Fun(m - 2));
    }
    else 
        return n;
}


int main()
{   
    int a, i;
    
    for (i = 0; i < 2; i++)
    {    
        a = Fun(4 + i);
        printf("%d\n", a);
    }
    
    return 0;
}</code>
A、00 B、88 C、44 D、6464 喵查答案:00 ……继续阅读 »

中国大学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答案

">设计一个函数,用来判断一个整数是否为素数。代码如下,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include  #include  int IsPrimeNumber(int number); int main() {      int n, ret;      printf("Input n:");      scanf("%d", &n);      ret = IsPrimeNumber(n);      if (___________)      {            printf("%d is a prime number\n", n);      }      else      {           printf("%d is not a prime number\n", n);      }      return 0; } //函数功能:判断number是否是素数,函数返回非0值,表示是素数,否则不是素数 int IsPrimeNumber(int number) {      int i;            if (number <= 1) return 0; // 负数、0和1都不是素数             for (i=2; ________________; i++)          {               if (_______________) // 被整除,不是素数                    return 0;      }      return 1; }

A、 第11行:   ret != 0 第29行:   i<=sqrt(number) 第31行:   number % i == 0 B、 第11行:   ret == 0 第29行:   i<=number 第31行:   number % i == 0 C、 第11行:   ret == 0 第29行:   i<=sqrt(numbe……继续阅读 »

中国大学MOOC答案

">设计一个函数MinCommonMultiple(),计算两个正整数的最小公倍数。代码如下,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include  int MinCommonMultiple(int a, int b); int main() {     int a, b, x;     printf("Input a,b:");     scanf("%d,%d", &a, &b);     x = _________________;          if (__________)             printf("MinCommonMultiple = %d\n", x);     else                       printf("Input error!\n");             return 0; } //函数功能:计算两个正整数的最小公倍数,-1表示没有最小公倍数 int MinCommonMultiple(int a, int b) {     int i;          if (_________________) return -1;        // 保证输入的参数为正整数                for (i=1; i<b; i++)     {         if (________________)   return i * a;     }          return b * a; }

A、 第8行:    MinCommonMultiple(a, b) 第10行:    x != -1 第22行:   a<=0 || b<=0 第26行:   (i * a) % b == 0 B、 第8行:    MinCommonMultiple 第10行:    x == -1 第22行:   a<=0 && b&l……继续阅读 »

中国大学MOOC答案

">编程计算下面组合数的值代码如下,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include  _________________________; int main() {      int m, k;      _________;            do{           printf("Please input m,k (m>=k>0):");           scanf("%d, %d", &m, &k);        } while (______________);              p = (double)Factorial(m) / (Factorial(k) * Factorial (m-k));      printf("p=%.0f\n", p);      return 0; } //函数功能:计算无符号整型数number的阶乘 unsigned long Factorial(unsigned int number) {      unsigned long i, result = 1;            for (________________)      {           result *= i;      }      return result; }

编程计算下面组合数的值代码如下,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include  _________________________; int main() {      int m, k;      _________;            do{           printf("Please input m,k (……继续阅读 »

中国大学MOOC答案

">设计一个函数MaxCommonFactor(),利用欧几里德算法(也称辗转相除法)计算两个正整数最大公约数。代码如下,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 #include  int MaxCommonFactor(int a, int b); int main() {      int a, b, x;      printf("Input a,b:");      scanf("%d,%d", &a, &b);      x =_______________ ;            if (x != -1)      {           printf("MaxCommonFactor = %d\n", x);      }      else      {           printf("Input error!\n");      }            return 0; } //函数功能: 计算两个正整数的最大公约数,-1表示没有最大公约数 int MaxCommonFactor(int a, int b) {      int r;      if (a<=0 || b<=0) return -1; // 保证输入的参数为正整数                do{           ____________;           a = b;           _____________;      }while (__________);            return  a;    }

A、 第8行:     MaxCommonFactor(a, b) 第29行:    r = a % b 第31行:    b = r 第32行:    r != 0 B、 第8行:     MaxCommonFactor(a, b, x) 第29行:    r = a % b 第31行:    a = r 第32行:    r == 0 C、 第8行:  ……继续阅读 »